| content |
{"Commits":[{"Sha1":"849a0460c {"Commits":[{"Sha1":"849a0460c229611a1afa4b798be51fbc72408273","Message":"chore(reports): 回绑 app-manifest 报告 @ 7de0687\n\nreports/app-manifest.latest.json 在 clean 7de0687 上生成:14/14 判定、0 违规、5 条待登记提示(Person / Assignment / PersonnelChange 未进 Entity Catalog、enterprise-fact-backbone 不在 pinned rc.1 apps/、serviceAccounts 为空);pinned 镜像 DRIFT 5 处、工作区镜像 DRIFT 3 处。其余静态报告待下一次完整 pnpm check 统一回绑(当前聚合棘轮因既有 O18 与验收报告指纹失配而红)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T06:00:24-07:00"},{"Sha1":"7de068746f1cd32d3c787987dbd6965fc6e04c3e","Message":"feat(governance): 应用侧 AppManifest 仓内真源与 check:app-manifest 门禁(G23 / 控制面接入蓝图 A1)\n\n- 仓根 app-manifest.json 成为向企业控制面登记的唯一仓内真源:version 0.19.4、权威实体 Person/Employment/Assignment/PersonnelChange、依赖 enterprise-idp + enterprise-fact-backbone;平台侧 contracts/apps/juhai.hr.draft.json 降为镜像\n- scripts/lib/app-manifest-governance.mjs:M1–M14 纯函数判定(Schema/Catalog/镜像取 exact pin 的 @juhai/contracts@1.0.0-rc.1;代码事实取 ProductManifest、governance.registry.json、双后端 prisma、contracts 导出、服务入口 health 字面量);违规即红,未登记只告警,镜像差异只记录不冒充已注册\n- scripts/check-app-manifest.mjs 写 reports/app-manifest.latest.json;scripts/lib/app-manifest-governance.test.mjs 为 node:test 1 正向 + 8 负向 + 1 纯函数\n- 接线:pnpm check 链在 fork-readiness 之后新增 check:app-manifest;governance-report.mjs 的 refresh / 同 run provenance / sources 纳入;baseline.json 新增 appManifestViolations=0、appManifestChecks=14 两条地板\n- 文档:docs/domain/enterprise-control-plane-integration-blueprint.md(五接缝现状、H1–H10、F1–F3、A1–A3、§10 落地记录);CLAUDE.md 常用命令 / 真源地图 / 基线表 / G23\n\n本地证据(2026-09-26):正向 14/14 判定 0 违规;负向 9 例红;fork-readiness、naming、governance-docs、docs-truth 通过。聚合棘轮仍因既有 O18 与验收报告源码指纹失配而红,与本提交无关。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T06:00:10-07:00"},{"Sha1":"5d4ee9b966f136479da06b29c8dda9b28f00d388","Message":"fix(governance): check:runtime runner 的 spawnSync 加 maxBuffer 256 MiB——turbo test 全量输出已超默认 1 MiB,ENOBUFS 杀子进程后被记成 test failed(直跑 turbo 全绿的假红)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T04:13:43-07:00"},{"Sha1":"c272914136ecf00f6266683867d9f878eb723459","Message":"feat(personnel): Person 加 per_ canonical ID(DEC-001 决定 1)——people.canonical_id 库内 generate_prefixed_ulid('per_') 生成、迁移按更正链回填存量并加不变量(NOT NULL / 格式 CHECK / 当前行唯一 / 身份不可变与更正保 canonical 触发器)、两后端更正复制显式携带 canonical、contracts personCanonicalIdSchema、集成测试与 CLAUDE.md 落地说明\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T04:02:34-07:00"}],"HeadCommit":{"Sha1":"849a0460c229611a1afa4b798be51fbc72408273","Message":"chore(reports): 回绑 app-manifest 报告 @ 7de0687\n\nreports/app-manifest.latest.json 在 clean 7de0687 上生成:14/14 判定、0 违规、5 条待登记提示(Person / Assignment / PersonnelChange 未进 Entity Catalog、enterprise-fact-backbone 不在 pinned rc.1 apps/、serviceAccounts 为空);pinned 镜像 DRIFT 5 处、工作区镜像 DRIFT 3 处。其余静态报告待下一次完整 pnpm check 统一回绑(当前聚合棘轮因既有 O18 与验收报告指纹失配而红)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T06:00:24-07:00"},"CompareURL":"luoanwu/juhai-ai-hr-system/compare/ac658a37fe9dfe26c2a382c16f2f2ba76d17b453...849a0460c229611a1afa4b798be51fbc72408273","Len":4}... |