|
36321
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9051d59af {"Commits":[{"Sha1":"9051d59afc16a0451b636e16a8a53feae4e66596","Message":"docs(registry): record verified OS admission and central audit\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T03:29:26-07:00"}],"HeadCommit":{"Sha1":"9051d59afc16a0451b636e16a8a53feae4e66596","Message":"docs(registry): record verified OS admission and central audit\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T03:29:26-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/9b4210346a7997f20f92d0326848d172f9acc17f...9051d59afc16a0451b636e16a8a53feae4e66596","Len":1}...
|
1791628183
|
Edit
Delete
|
|
36293
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9b4210346 {"Commits":[{"Sha1":"9b4210346a7997f20f92d0326848d172f9acc17f","Message":"merge: preserve OS identity gates with current main and registry admission\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T02:54:00-07:00"},{"Sha1":"0df34078a9387dc2a1aa66be2bc18018a81401d5","Message":"feat(registry): add OS service admission with mapped identity and source artifact\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T02:44:18-07:00"},{"Sha1":"0473b44cb88921830f04e73bc3dff8bdab7f5383","Message":"test(mcp): use selected query version in Fastify tool registration\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T01:01:03-07:00"},{"Sha1":"1c7c38bcf1ed75569c3f5bc9e5509d8039cb4c2b","Message":"test(mcp): bind worker acceptance to the installed query v2 contract\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T00:02:22-07:00"},{"Sha1":"6bc8b2021b0b79f9d6afb7edf86e44660c6242df","Message":"feat(identity): consume control-plane lifecycle and canonical erasure checkpoints\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-09T23:47:38-07:00"}],"HeadCommit":{"Sha1":"9b4210346a7997f20f92d0326848d172f9acc17f","Message":"merge: preserve OS identity gates with current main and registry admission\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-10T02:54:00-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/b5b504aec5ab1199aecd415d36c439b993d134e7...9b4210346a7997f20f92d0326848d172f9acc17f","Len":5}...
|
1791626515
|
Edit
Delete
|
|
35419
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b5b504aec {"Commits":[{"Sha1":"b5b504aec5ab1199aecd415d36c439b993d134e7","Message":"docs(operations): record local OS restart\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-08T22:32:13-07:00"}],"HeadCommit":{"Sha1":"b5b504aec5ab1199aecd415d36c439b993d134e7","Message":"docs(operations): record local OS restart\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-08T22:32:13-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/df2aef526eda9ed1dc816004cde4d617e5e0c1dd...b5b504aec5ab1199aecd415d36c439b993d134e7","Len":1}...
|
1791523940
|
Edit
Delete
|
|
33022
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"df2aef526 {"Commits":[{"Sha1":"df2aef526eda9ed1dc816004cde4d617e5e0c1dd","Message":"docs(operations): record local OS web proxy recovery\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T19:19:41-07:00"}],"HeadCommit":{"Sha1":"df2aef526eda9ed1dc816004cde4d617e5e0c1dd","Message":"docs(operations): record local OS web proxy recovery\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T19:19:41-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/bf3489874b13f86fd2a36d382c4bbf7fc6adcddd...df2aef526eda9ed1dc816004cde4d617e5e0c1dd","Len":1}...
|
1790475589
|
Edit
Delete
|
|
33021
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bf3489874 {"Commits":[{"Sha1":"bf3489874b13f86fd2a36d382c4bbf7fc6adcddd","Message":"chore(reports): W13 三级证据回绑——静态 pnpm check 与 check:ui 34/34×2 @ a2c03a2,check:runtime 930/0 @ 5779993\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T18:04:47-07:00"},{"Sha1":"a2c03a27680149366d974132f0208cb34ff34c30","Message":"chore(kernel): 重签导出锁——contracts 1.29.0 新增 trigger.evaluate 意图三件与 shouldRecordTriggerEvaluation(W13 / C261)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T17:57:13-07:00"},{"Sha1":"57799930fc4f00bbd7034c6ff4a8b60225b5ba1a","Message":"docs(triggers): C261 与蓝图 §11.3 记 W13 实现;runtime 930/0 首轮与 docs-truth 红因\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T17:41:07-07:00"},{"Sha1":"921d6291f371cd70419a2a1a9fed68e990bcf69d","Message":"feat(triggers): W13 自动化消费可恢复——评估意图与 outbox 投递同事务写入 JobIntent,worker 按当前规则评估,重试耗尽进死信可重放\n\n- contracts 1.29.0:JobIntent 新增 trigger.evaluate(jobId 按事件确定)与 shouldRecordTriggerEvaluation\n- 两后端 outbox 投递事务内仅为有已启用且订阅匹配规则的租户写评估意图(ON CONFLICT DO NOTHING)\n- worker 是唯一评估入口:去掉进程内 fanout 评估(Fastify trigger-engine 插件删除)\n- 重试耗尽:意图标死信并移除 BullMQ 失败作业,死信台原因化重放后同 jobId 重新入队\n- 两后端各新增 2 例真实 DB 验收(失败一次后恰好一次触发 / 持续失败进死信→重放恰好一次),产品扩展验收改为经 JobIntent 驱动\n- 六条对称断言挂在内核级 check-dual-backend-parity(不挂 triggers 业务域,避免 fork-readiness F2)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T17:28:47-07:00"},{"Sha1":"94d3a62979d604b0ac087b4090e5cb3b0a83463a","Message":"docs(planning): 蓝图 §11.2 记 W13 故障复现——评估在发布后失败一次,该事件的自动化永久丢失\n\n一次性复现(真实 HTTP + PG + Redis,NestJS,main 9211af1,用例未提交):让 Trigger 引擎 evaluate 对\n第一条 user.created 抛错一次后恢复——该事件 outbox 已 dispatchedAt、再等 15 秒 firing 仍为 0、无任何待重试\n持久事实;下一条同类事件正常 firing。Fastify 同构(评估异常只记日志)。B11 由设计风险升级为已复现缺陷。\n用户裁决修法:复用 JobIntent、按评估时当前规则版本、复用现有死信处置。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T17:09:28-07:00"}],"HeadCommit":{"Sha1":"bf3489874b13f86fd2a36d382c4bbf7fc6adcddd","Message":"chore(reports): W13 三级证据回绑——静态 pnpm check 与 check:ui 34/34×2 @ a2c03a2,check:runtime 930/0 @ 5779993\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T18:04:47-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/9211af176582cf84be7953284ebaaa8585415582...bf3489874b13f86fd2a36d382c4bbf7fc6adcddd","Len":5}...
|
1790471202
|
Edit
Delete
|
|
33010
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9211af176 {"Commits":[{"Sha1":"9211af176582cf84be7953284ebaaa8585415582","Message":"chore(reports): 静态 30/30 与 check:ui 34/34×2 回绑 @ 0e7680b\n\nclean HEAD 0e7680b(宿主列表兼容层)上 check:ui passed(NestJS / Fastify 各 34/34,UI 库\ndigital_employee_os_ui_20260926j、Redis 6404/5),随后同 HEAD pnpm check 30/30;32 份报告 provenance\n均为 0e7680b / worktreeDirty=false。check:runtime 仍绑 95e579c(其后改动不在 runtime 覆盖面)。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:45:03-07:00"},{"Sha1":"0e7680be77de6cccc60dff29a07d2e61524f6e3e","Message":"feat(hr-host): 产品列表读取兼容裸数组与分页信封(W03 宿主侧先行);蓝图记 W03 / W04 复核\n\n用户裁决(2026-09-26):W03 产品端(分页 SQL / 路由 / 信封)交 HR 仓维护会话,OS 先写契约并让宿主兼容。\n\n- hr-api.ts:readHrListPage 接受 0.19.x 的裸数组与 OS contracts PaginatedList 信封,其余形状\n HR_LIST_RESPONSE_INVALID 失败关闭;10 个 list() 统一经它、仍返回数组,现有消费者不变;员工与变更另有\n listPage() 暴露 total / hasNextPage。HR 切到信封后 OS 不必同步发版。\n- 蓝图 §11.1:W04 大部已被 0.19.x 关闭(共享 Query 注入、计数如实标注);W03 主体在产品端、归 HR 仓;\n 契约在 HR 分支 docs/handoff-2026-09-26-w03-list-pagination-contract.md;M1 收口顺序。\n\nhost typecheck、naming / kernel-boundaries / kernel-extensions / product-acceptance / lint、docs-truth:assert、\ngovernance-docs 通过。信封分支要等 HR 发布分页 API 后才有真实消费者。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:37:10-07:00"}],"HeadCommit":{"Sha1":"9211af176582cf84be7953284ebaaa8585415582","Message":"chore(reports): 静态 30/30 与 check:ui 34/34×2 回绑 @ 0e7680b\n\nclean HEAD 0e7680b(宿主列表兼容层)上 check:ui passed(NestJS / Fastify 各 34/34,UI 库\ndigital_employee_os_ui_20260926j、Redis 6404/5),随后同 HEAD pnpm check 30/30;32 份报告 provenance\n均为 0e7680b / worktreeDirty=false。check:runtime 仍绑 95e579c(其后改动不在 runtime 覆盖面)。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:45:03-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445...9211af176582cf84be7953284ebaaa8585415582","Len":2}...
|
1790466842
|
Edit
Delete
|
|
33007
|
5
|
17
|
5
|
76
|
0
|
0
|
refs/heads/fix/c19-e2e-tenant-20260926
|
0
|
|
1790465192
|
Edit
Delete
|
|
33006
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d7c7cd6e7 {"Commits":[{"Sha1":"d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Message":"feat(integration): 平台 dev 环境验收准备——C19 联调用例租户可配、dev E1 操作单、接缝台账记 dev 阻塞\n\n用户选定控制面接入 E0 → E1、先做不依赖管理员登录的部分(2026-09-26)。\n\n- llm.usage-export.platform-e2e(两后端):企业 IdP 签发的 tenant_id 是随机 ten_…,用例写死\n tenant-c19-e2e-*,只能对假 token 的本地平台跑通。改为可用 C19_PLATFORM_E2E_TENANT_NESTJS / _FASTIFY\n 覆盖(两后端各自一个,平台读回按租户汇总),默认值不变;无平台变量时仍整组 skip(两后端各 1 skipped 实测)。\n 头注释把 azp 订正为 client_id(srv_…)并写明所需权限。\n- docs/operations/platform-dev-e1-usage-export-2026-09-26.md:dev E1 操作单——实测前提(dev 来源登记\n appId=os-usage-exporter 永远对不上 srv_ client_id;服务身份管理要人类租户管理员 token;Catalog 无 E1 枚举)、\n 登记 / 授权 / 权限 / dev env 修正、正反向验收与证据登记步骤。第 1 步须人登录,Claude 不代输密码。\n- governance/platform-integration.json:llm-usage-export 与 control-plane-mcp 的 openItems 写明 dev 阻塞\n (09-24 MCP 验收是宿主机独立进程,不在 dev 部署内)。check:app-manifest 通过。\n\ndocs-truth:assert / governance-docs / operations / naming / dual-backend / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:18:19-07:00"}],"HeadCommit":{"Sha1":"d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Message":"feat(integration): 平台 dev 环境验收准备——C19 联调用例租户可配、dev E1 操作单、接缝台账记 dev 阻塞\n\n用户选定控制面接入 E0 → E1、先做不依赖管理员登录的部分(2026-09-26)。\n\n- llm.usage-export.platform-e2e(两后端):企业 IdP 签发的 tenant_id 是随机 ten_…,用例写死\n tenant-c19-e2e-*,只能对假 token 的本地平台跑通。改为可用 C19_PLATFORM_E2E_TENANT_NESTJS / _FASTIFY\n 覆盖(两后端各自一个,平台读回按租户汇总),默认值不变;无平台变量时仍整组 skip(两后端各 1 skipped 实测)。\n 头注释把 azp 订正为 client_id(srv_…)并写明所需权限。\n- docs/operations/platform-dev-e1-usage-export-2026-09-26.md:dev E1 操作单——实测前提(dev 来源登记\n appId=os-usage-exporter 永远对不上 srv_ client_id;服务身份管理要人类租户管理员 token;Catalog 无 E1 枚举)、\n 登记 / 授权 / 权限 / dev env 修正、正反向验收与证据登记步骤。第 1 步须人登录,Claude 不代输密码。\n- governance/platform-integration.json:llm-usage-export 与 control-plane-mcp 的 openItems 写明 dev 阻塞\n (09-24 MCP 验收是宿主机独立进程,不在 dev 部署内)。check:app-manifest 通过。\n\ndocs-truth:assert / governance-docs / operations / naming / dual-backend / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:18:19-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0...d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Len":1}...
|
1790464840
|
Edit
Delete
|
|
33005
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/c19-e2e-tenant-20260926
|
0
|
{"Commits":[{"Sha1":"d7c7cd6e7 {"Commits":[{"Sha1":"d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Message":"feat(integration): 平台 dev 环境验收准备——C19 联调用例租户可配、dev E1 操作单、接缝台账记 dev 阻塞\n\n用户选定控制面接入 E0 → E1、先做不依赖管理员登录的部分(2026-09-26)。\n\n- llm.usage-export.platform-e2e(两后端):企业 IdP 签发的 tenant_id 是随机 ten_…,用例写死\n tenant-c19-e2e-*,只能对假 token 的本地平台跑通。改为可用 C19_PLATFORM_E2E_TENANT_NESTJS / _FASTIFY\n 覆盖(两后端各自一个,平台读回按租户汇总),默认值不变;无平台变量时仍整组 skip(两后端各 1 skipped 实测)。\n 头注释把 azp 订正为 client_id(srv_…)并写明所需权限。\n- docs/operations/platform-dev-e1-usage-export-2026-09-26.md:dev E1 操作单——实测前提(dev 来源登记\n appId=os-usage-exporter 永远对不上 srv_ client_id;服务身份管理要人类租户管理员 token;Catalog 无 E1 枚举)、\n 登记 / 授权 / 权限 / dev env 修正、正反向验收与证据登记步骤。第 1 步须人登录,Claude 不代输密码。\n- governance/platform-integration.json:llm-usage-export 与 control-plane-mcp 的 openItems 写明 dev 阻塞\n (09-24 MCP 验收是宿主机独立进程,不在 dev 部署内)。check:app-manifest 通过。\n\ndocs-truth:assert / governance-docs / operations / naming / dual-backend / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:18:19-07:00"}],"HeadCommit":{"Sha1":"d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Message":"feat(integration): 平台 dev 环境验收准备——C19 联调用例租户可配、dev E1 操作单、接缝台账记 dev 阻塞\n\n用户选定控制面接入 E0 → E1、先做不依赖管理员登录的部分(2026-09-26)。\n\n- llm.usage-export.platform-e2e(两后端):企业 IdP 签发的 tenant_id 是随机 ten_…,用例写死\n tenant-c19-e2e-*,只能对假 token 的本地平台跑通。改为可用 C19_PLATFORM_E2E_TENANT_NESTJS / _FASTIFY\n 覆盖(两后端各自一个,平台读回按租户汇总),默认值不变;无平台变量时仍整组 skip(两后端各 1 skipped 实测)。\n 头注释把 azp 订正为 client_id(srv_…)并写明所需权限。\n- docs/operations/platform-dev-e1-usage-export-2026-09-26.md:dev E1 操作单——实测前提(dev 来源登记\n appId=os-usage-exporter 永远对不上 srv_ client_id;服务身份管理要人类租户管理员 token;Catalog 无 E1 枚举)、\n 登记 / 授权 / 权限 / dev env 修正、正反向验收与证据登记步骤。第 1 步须人登录,Claude 不代输密码。\n- governance/platform-integration.json:llm-usage-export 与 control-plane-mcp 的 openItems 写明 dev 阻塞\n (09-24 MCP 验收是宿主机独立进程,不在 dev 部署内)。check:app-manifest 通过。\n\ndocs-truth:assert / governance-docs / operations / naming / dual-backend / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T16:18:19-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0...d7c7cd6e7d0f2f5c74b5f851fe0e93f2e4daf445","Len":1}...
|
1790464765
|
Edit
Delete
|
|
33004
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/c19-e2e-tenant-20260926
|
0
|
|
1790464765
|
Edit
Delete
|
|
32999
|
5
|
17
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
|
1790463182
|
Edit
Delete
|
|
32996
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ba2eb4b48 {"Commits":[{"Sha1":"ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Message":"docs(治理): C259 裁决——MCP 工具 1.0.0 冻结实现不补回,登记为有意退役\n\n2026-09-26 用户裁决。1.0.0 对应的平台工具契约已收窄(五个工具 → 三个只读工具、endpoint 与 audience /\n业务租户与身份租户拆分),旧实现补回也调不通新平台。已绑定 1.0.0 的租户按失败关闭处理,由管理员登记并\n激活 2.0.0、重新装备与绑定凭据,不做自动迁移;C250 冻结先例仍适用于契约未变的工具升版。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T15:37:02-07:00"},{"Sha1":"662b0863c55a404c7fa82e676133f2cfd315b034","Message":"chore(reports): 静态 30/30 与 check:ui 34/34×2 回绑 @ 44d89b4\n\nclean HEAD 44d89b4 上 check:ui passed(NestJS / Fastify 各 34/34,含 C18 企业应用区用例;UI 库\ndigital_employee_os_ui_20260926i、Redis 6404/5),随后同一 HEAD 上 pnpm check 30/30;32 份报告\nprovenance 均为 44d89b4 / worktreeDirty=false。check:runtime 仍绑 95e579c(其后改动只涉浏览器用例、\nrunner / mock 与文档,不在 runtime 覆盖面)。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:43:29-07:00"},{"Sha1":"44d89b4c91f6321b0160dab7b55d5b3bcc390fc4","Message":"docs(治理): C18 企业应用区 UI 用例入账——用例数 881、UI 基线 34/后端、C260,接缝台账 experience-shell 证据补浏览器用例\n\n首轮 check:ui 两后端各 34/34 通过,唯独收尾 docs-truth 复验因 own-test-cases 未预写(880 → 实测 881)\n把整轮降级为 failed;按 C231 纪律改文档不改测试后复跑。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:35:32-07:00"},{"Sha1":"cf6458dfdedcfa73577c89f81e1b1b310cefbc99","Message":"test(ui): C18 企业应用区浏览器验收——真实后端 + 来源应用 / 平台复核替身\n\nC18(DEC-044 消费侧)此前只有两后端 HTTP 验收,Shell「企业应用」区没有任何浏览器证据。\n\n- mock-llm-tool-provider 同时扮演来源应用 execution-control(GET 贡献清单,Bearer 校验)与平台\n enterprise-experience 复核(POST :review,可经 /experience/mode 切成 503);四条贡献:可展示、\n STALE_DISPLAY_ONLY、BLOCKED、协议相对越界 deepLink。OS 后端是真实进程,不被替身。\n- runner 把 PLATFORM_EXPERIENCE_BASE_URL / TOKEN 与 EXPERIENCE_SOURCES 交给 API,两枚随机 token\n 只在 runner、mock、API 子进程之间传递。\n- 用例断言:只渲染两条(可展示 + 过期标记),href 为来源 origin + deepLink、新标签页且 noopener;\n BLOCKED 与越界入口不出现;平台复核 503 时整区不渲染(失败关闭、不拿旧结论冒充),恢复后重新出现。\n\nnaming / operations / dual-backend / fork-readiness / app-manifest / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:28:48-07:00"},{"Sha1":"160069e67a1b76c2b4abfa963fa5f08a36101714","Message":"chore(reports): 三级证据同回绑 @ 95e579c——静态 30/30、check:runtime 924/0、check:ui 33/33×2\n\nclean HEAD 95e579c 上:pnpm check 30/30;check:runtime passed(924 tests / 0 failures、30/30 步、\n行为矩阵 204/204、产品验收 274 例,juhai.hr 0.19.5 候选;PG 55470 digital_employee_os_acceptance_20260926c、\nRedis 6404/3);check:ui passed(NestJS / Fastify 各 33/33;UI 库 digital_employee_os_ui_20260926g、Redis 6404/5)。\n45 份报告 provenance 均为 95e579c / worktreeDirty=false。\n\nCLAUDE.md:三级证据新鲜度行、ui-acceptance 基线行(每后端 33)与快照锚点前移;新增 C258(HR 0.19.x 装载后\nUI 未重跑、宿主层漂移连红五轮)与 C259(bcdcdb6 未升版、未跑整轮验收)。聚合外专项 runner 本轮未跑。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:09:25-07:00"}],"HeadCommit":{"Sha1":"ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Message":"docs(治理): C259 裁决——MCP 工具 1.0.0 冻结实现不补回,登记为有意退役\n\n2026-09-26 用户裁决。1.0.0 对应的平台工具契约已收窄(五个工具 → 三个只读工具、endpoint 与 audience /\n业务租户与身份租户拆分),旧实现补回也调不通新平台。已绑定 1.0.0 的租户按失败关闭处理,由管理员登记并\n激活 2.0.0、重新装备与绑定凭据,不做自动迁移;C250 冻结先例仍适用于契约未变的工具升版。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T15:37:02-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/b26d51b926223ee7c225026b86701bf5121b2e04...ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Len":18}...
|
1790462249
|
Edit
Delete
|
|
32995
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
{"Commits":[{"Sha1":"ba2eb4b48 {"Commits":[{"Sha1":"ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Message":"docs(治理): C259 裁决——MCP 工具 1.0.0 冻结实现不补回,登记为有意退役\n\n2026-09-26 用户裁决。1.0.0 对应的平台工具契约已收窄(五个工具 → 三个只读工具、endpoint 与 audience /\n业务租户与身份租户拆分),旧实现补回也调不通新平台。已绑定 1.0.0 的租户按失败关闭处理,由管理员登记并\n激活 2.0.0、重新装备与绑定凭据,不做自动迁移;C250 冻结先例仍适用于契约未变的工具升版。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T15:37:02-07:00"}],"HeadCommit":{"Sha1":"ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Message":"docs(治理): C259 裁决——MCP 工具 1.0.0 冻结实现不补回,登记为有意退役\n\n2026-09-26 用户裁决。1.0.0 对应的平台工具契约已收窄(五个工具 → 三个只读工具、endpoint 与 audience /\n业务租户与身份租户拆分),旧实现补回也调不通新平台。已绑定 1.0.0 的租户按失败关闭处理,由管理员登记并\n激活 2.0.0、重新装备与绑定凭据,不做自动迁移;C250 冻结先例仍适用于契约未变的工具升版。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T15:37:02-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/662b0863c55a404c7fa82e676133f2cfd315b034...ba2eb4b48ece4515f3e5ed5cd01b4988ef9476f0","Len":1}...
|
1790462249
|
Edit
Delete
|
|
32992
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
{"Commits":[{"Sha1":"662b0863c {"Commits":[{"Sha1":"662b0863c55a404c7fa82e676133f2cfd315b034","Message":"chore(reports): 静态 30/30 与 check:ui 34/34×2 回绑 @ 44d89b4\n\nclean HEAD 44d89b4 上 check:ui passed(NestJS / Fastify 各 34/34,含 C18 企业应用区用例;UI 库\ndigital_employee_os_ui_20260926i、Redis 6404/5),随后同一 HEAD 上 pnpm check 30/30;32 份报告\nprovenance 均为 44d89b4 / worktreeDirty=false。check:runtime 仍绑 95e579c(其后改动只涉浏览器用例、\nrunner / mock 与文档,不在 runtime 覆盖面)。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:43:29-07:00"},{"Sha1":"44d89b4c91f6321b0160dab7b55d5b3bcc390fc4","Message":"docs(治理): C18 企业应用区 UI 用例入账——用例数 881、UI 基线 34/后端、C260,接缝台账 experience-shell 证据补浏览器用例\n\n首轮 check:ui 两后端各 34/34 通过,唯独收尾 docs-truth 复验因 own-test-cases 未预写(880 → 实测 881)\n把整轮降级为 failed;按 C231 纪律改文档不改测试后复跑。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:35:32-07:00"},{"Sha1":"cf6458dfdedcfa73577c89f81e1b1b310cefbc99","Message":"test(ui): C18 企业应用区浏览器验收——真实后端 + 来源应用 / 平台复核替身\n\nC18(DEC-044 消费侧)此前只有两后端 HTTP 验收,Shell「企业应用」区没有任何浏览器证据。\n\n- mock-llm-tool-provider 同时扮演来源应用 execution-control(GET 贡献清单,Bearer 校验)与平台\n enterprise-experience 复核(POST :review,可经 /experience/mode 切成 503);四条贡献:可展示、\n STALE_DISPLAY_ONLY、BLOCKED、协议相对越界 deepLink。OS 后端是真实进程,不被替身。\n- runner 把 PLATFORM_EXPERIENCE_BASE_URL / TOKEN 与 EXPERIENCE_SOURCES 交给 API,两枚随机 token\n 只在 runner、mock、API 子进程之间传递。\n- 用例断言:只渲染两条(可展示 + 过期标记),href 为来源 origin + deepLink、新标签页且 noopener;\n BLOCKED 与越界入口不出现;平台复核 503 时整区不渲染(失败关闭、不拿旧结论冒充),恢复后重新出现。\n\nnaming / operations / dual-backend / fork-readiness / app-manifest / lint 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:28:48-07:00"}],"HeadCommit":{"Sha1":"662b0863c55a404c7fa82e676133f2cfd315b034","Message":"chore(reports): 静态 30/30 与 check:ui 34/34×2 回绑 @ 44d89b4\n\nclean HEAD 44d89b4 上 check:ui passed(NestJS / Fastify 各 34/34,含 C18 企业应用区用例;UI 库\ndigital_employee_os_ui_20260926i、Redis 6404/5),随后同一 HEAD 上 pnpm check 30/30;32 份报告\nprovenance 均为 44d89b4 / worktreeDirty=false。check:runtime 仍绑 95e579c(其后改动只涉浏览器用例、\nrunner / mock 与文档,不在 runtime 覆盖面)。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:43:29-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/160069e67a1b76c2b4abfa963fa5f08a36101714...662b0863c55a404c7fa82e676133f2cfd315b034","Len":3}...
|
1790433823
|
Edit
Delete
|
|
32989
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
{"Commits":[{"Sha1":"160069e67 {"Commits":[{"Sha1":"160069e67a1b76c2b4abfa963fa5f08a36101714","Message":"chore(reports): 三级证据同回绑 @ 95e579c——静态 30/30、check:runtime 924/0、check:ui 33/33×2\n\nclean HEAD 95e579c 上:pnpm check 30/30;check:runtime passed(924 tests / 0 failures、30/30 步、\n行为矩阵 204/204、产品验收 274 例,juhai.hr 0.19.5 候选;PG 55470 digital_employee_os_acceptance_20260926c、\nRedis 6404/3);check:ui passed(NestJS / Fastify 各 33/33;UI 库 digital_employee_os_ui_20260926g、Redis 6404/5)。\n45 份报告 provenance 均为 95e579c / worktreeDirty=false。\n\nCLAUDE.md:三级证据新鲜度行、ui-acceptance 基线行(每后端 33)与快照锚点前移;新增 C258(HR 0.19.x 装载后\nUI 未重跑、宿主层漂移连红五轮)与 C259(bcdcdb6 未升版、未跑整轮验收)。聚合外专项 runner 本轮未跑。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:09:25-07:00"},{"Sha1":"95e579c9d233d888991ecf28ab0033701b194c23","Message":"fix(ui-runner): 产品 spec 约定的主体名加 naming-ignore(check:naming 禁用词 operator)\n\nlocal-acceptance-operator 由已装载产品的验收 spec 约定,属对接外部契约的特例;按 check:naming 的\n逐行 naming-ignore 口径标注,注释改写为不含该词。仅注释与标注,runner 行为不变——\ncheck:runtime(924/0)与 check:ui(33/33×2)证据仍绑 9eea06b。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:50:35-07:00"},{"Sha1":"9eea06b6ec0a88d87a1f750803842b063c6ff7c2","Message":"fix(product): juhai.hr 0.19.5 候选——产品浏览器验收的审批一步由复核人完成\n\n用户裁决(2026-09-26):产品 spec 让同一操作人自提自批,与 OS 宿主层「申请人不能审批自己的变更」\n冲突(后端不拦、界面是唯一防线),收口方式是改 spec 用复核人,不放宽宿主门闸。\n\n- products/juhai.hr/*(spec / runtime-suite / manifest)与 HR 仓分支\n fix/spec-reviewer-approval-20260926 逐字一致:spec 读可选 E2E_REVIEWER_TOKEN,审批一步切到\n local-acceptance-reviewer 会话、完成后切回操作人;未提供时行为不变(HR 宿主组合经 reviewApi\n 以复核人 token 审批)。复核人会话期间暂停控制台错误收集。版本 0.19.4 → 0.19.5。\n- kernel.products.json / lock 同步 0.19.5(kernel-products:lock,85/85 负探针)。\n- UI runner 签发复核人 token,只播种 workspace.read / personnel.read / change.transition /\n change.review 四项(与 HR harness 同组),经 E2E_REVIEWER_TOKEN 交给 spec。\n\n**候选状态**:HR 仓 0.19.5 的发布证据(bundle / 迁移运行时 / 分发 / 宿主验收)尚未重建,\nHR 分支未合入其 main;本提交先用 OS check:ui 验证方案。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:32:30-07:00"},{"Sha1":"6b83b3da9ca55ed21ca6f0661b969c75830d4b59","Message":"fix(ui-runner): 产品浏览器验收的 member 主体对齐 juhai.hr 0.19.x spec(local-acceptance-operator)\n\n0.19.x 的产品 spec 把会话主体与收尾撤权对象从 ui-member 改为 local-acceptance-operator,\nrunner 仍以 ui-member 签发 member token 并播种授权。前面各步照常通过(请求用 token 的 sub,\n授权挂在 ui-member 上),只在最后按新主体撤权时 DELETE /api/permissions/... 回 404。\ntoken sub 与授权播种改为同一常量。operations / dual-backend / fork-readiness /\nkernel-extensions 静态门通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:22:08-07:00"},{"Sha1":"d302f64384dd690874ca6417b3049b2f1130ff3c","Message":"fix(hr-host): 身份映射 / 任职证据 / 事实履历按 juhai.hr 0.19.x 隐私投影渲染\n\n0.19.x 服务端只回隐私投影:身份映射去掉 external_subject_id / verification_reference,改给\nexternal_subject_ref;任职证据去掉外部编号、HTTPS 地址与 SHA-256,改给 external_document_ref;\n事实履历快照收成 SUMMARY_V1 白名单。宿主层仍读旧字段——身份行只剩「provider · 」,产品浏览器\n验收在「ref:」断言处失败。\n\n按产品工作台同源口径:两类行显示 ref: + 引用前 12 位,履历行显示 fact_type · projection;\n类型定义同步收掉不再返回的字段,「替代」提示框不再以已不可得的外部编号作默认值。\nhost typecheck 通过。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:17:17-07:00"}],"HeadCommit":{"Sha1":"160069e67a1b76c2b4abfa963fa5f08a36101714","Message":"chore(reports): 三级证据同回绑 @ 95e579c——静态 30/30、check:runtime 924/0、check:ui 33/33×2\n\nclean HEAD 95e579c 上:pnpm check 30/30;check:runtime passed(924 tests / 0 failures、30/30 步、\n行为矩阵 204/204、产品验收 274 例,juhai.hr 0.19.5 候选;PG 55470 digital_employee_os_acceptance_20260926c、\nRedis 6404/3);check:ui passed(NestJS / Fastify 各 33/33;UI 库 digital_employee_os_ui_20260926g、Redis 6404/5)。\n45 份报告 provenance 均为 95e579c / worktreeDirty=false。\n\nCLAUDE.md:三级证据新鲜度行、ui-acceptance 基线行(每后端 33)与快照锚点前移;新增 C258(HR 0.19.x 装载后\nUI 未重跑、宿主层漂移连红五轮)与 C259(bcdcdb6 未升版、未跑整轮验收)。聚合外专项 runner 本轮未跑。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-26T07:09:25-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/27139913af5566990baea2ab77d39c1e5025a161...160069e67a1b76c2b4abfa963fa5f08a36101714","Len":7}...
|
1790431783
|
Edit
Delete
|
|
32978
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
{"Commits":[{"Sha1":"27139913a {"Commits":[{"Sha1":"27139913af5566990baea2ab77d39c1e5025a161","Message":"chore(reports): 静态 30/30 与 check:runtime 924/0 同回绑 @ 4600532\n\nclean HEAD 4600532 上 check:runtime passed(924 tests / 0 failures、30/30 步、行为矩阵\n204/204、产品验收 274 例;PG 55470 digital_employee_os_acceptance_20260926,Redis 6404/3),\n预写的 924 与实测一致;随后同一 HEAD 上 pnpm check 30/30。42 份报告 provenance 均为\n4600532 / worktreeDirty=false。check:ui 与聚合外专项 runner 本轮未跑。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:38:21-07:00"},{"Sha1":"46005326da6b7b0580adc687ff130b123350cfb0","Message":"test(llm): MCP worker 链验收按实现实际版本 2.0.0 登记与绑定凭据\n\nbcdcdb6 把 platform.control-plane.query 静态实现升到 2.0.0(v2)并移除 1.0.0,\n两后端 llm.acceptance 的 MCP 七例仍以 1.0.0 登记工具与绑定凭据,POST /api/tools\n回 400,check:runtime 自该提交起在 nestjs-test 红(7 例)。该提交只跑了 tool-runtime\n单测,整轮真实库验收没有跑出来。\n\nassembleChain 增加可选 toolVersion(默认 1.0.0,其余用例不变),MCP 用例用 2.0.0。\n单独复跑两后端 MCP 组各 7/7。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:24:42-07:00"},{"Sha1":"c30d40f130dffe3c74b2681df6e67b21af202288","Message":"docs(治理): runtime 用例数预写 924(919 + 09-24 新增 5 例),快照锚点前移\n\n预写法省一轮 runtime:bcdcdb6 / 1a9313f 新增 employment-fact-consumer 配置 2×2 例与\nMCP 服务 profile 1 例;以本提交 clean HEAD 的 check:runtime 实测证实,预测错则改文档不改测试。\n\nCo-Authored-By: Claude Opus 5.5 \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:18:07-07:00"},{"Sha1":"24e95d83f1020796a8449849b4ee7941b102d023","Message":"chore(reports): 静态 30/30 回绑 @ 35ebd59;快照锚点与静态证据新鲜度前移\n\n在 clean HEAD 35ebd59 上 pnpm check 30/30 通过(含新增 check:app-manifest、\nC257 后的 check:rls、tool-runtime 3.0.0 后的 kernel-packages / downstream),\n29 份报告 provenance 均为 35ebd59 / worktreeDirty=false。check:runtime、check:ui\n本轮未重跑,仍分别绑 ba482c2(09-23)与 568fb4d(09-20)。\n\nCo-Authored-By: Claude Opus 5.5 \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:16:42-07:00"},{"Sha1":"35ebd59ea554e77cd8a5885e1b66b21acb05c42f","Message":"fix(kernel): tool-runtime 升 3.0.0 收口 bcdcdb6 的公开 API 变更;动态区用例数与快照锚点对齐\n\nbcdcdb6(09-24 受保护 MCP 接入)给 ControlPlaneMcpBinding 加了两个必填字段\nidentityAudience / identityTenantId,稳定包公开 API 变了却未升版、未更新锁,\nmain 上 pnpm check 自此停在 check:kernel-packages P7。新增必填输入字段是破坏性\n变更,按先例(1.5.0→2.0.0)升 major:kernel.packages.json / 包版本 3.0.0,\npnpm kernel-packages:lock 重建 API 锁(5/5 负探针有效),下游通用消费者 fixture\n未改源码即完成 6 包仓外安装 / 编译 / 运行时 import,kernel-downstream:lock 只动版本号。\n\n另清两处既有 docs-truth 漂移:own-test-cases / own-tests 按当前树实测 880 用例、\n114 文件(09-23 写的 875 当时成立,其后 MCP 接入等新增用例);快照锚点前移到本提交父提交。\n\nCo-Authored-By: Claude Opus 5.5 \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:12:06-07:00"}],"HeadCommit":{"Sha1":"27139913af5566990baea2ab77d39c1e5025a161","Message":"chore(reports): 静态 30/30 与 check:runtime 924/0 同回绑 @ 4600532\n\nclean HEAD 4600532 上 check:runtime passed(924 tests / 0 failures、30/30 步、行为矩阵\n204/204、产品验收 274 例;PG 55470 digital_employee_os_acceptance_20260926,Redis 6404/3),\n预写的 924 与实测一致;随后同一 HEAD 上 pnpm check 30/30。42 份报告 provenance 均为\n4600532 / worktreeDirty=false。check:ui 与聚合外专项 runner 本轮未跑。快照锚点前移。\n\nCo-Authored-By: Claude Opus 5.5 \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:38:21-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/b26d51b926223ee7c225026b86701bf5121b2e04...27139913af5566990baea2ab77d39c1e5025a161","Len":7}...
|
1790422725
|
Edit
Delete
|
|
32977
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/fix/rls-grant-manifest-20260926
|
0
|
|
1790422725
|
Edit
Delete
|
|
32927
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b26d51b92 {"Commits":[{"Sha1":"b26d51b926223ee7c225026b86701bf5121b2e04","Message":"test(governance): bind integration experience evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:40:01-07:00"},{"Sha1":"d95d68ba18c5dd9cbf57a43c80765333058903f5","Message":"docs(control-plane): capture protected MCP integration lessons\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:37:35-07:00"}],"HeadCommit":{"Sha1":"b26d51b926223ee7c225026b86701bf5121b2e04","Message":"test(governance): bind integration experience evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:40:01-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/0ec1ffec8962590df5d7d130b04c445815f86a15...b26d51b926223ee7c225026b86701bf5121b2e04","Len":2}...
|
1790297007
|
Edit
Delete
|
|
32926
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0ec1ffec8 {"Commits":[{"Sha1":"0ec1ffec8962590df5d7d130b04c445815f86a15","Message":"test(governance): rebind reports after main merge\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:25:32-07:00"},{"Sha1":"16214fdb3acba0c99e61216ea697b3c8925a4d5d","Message":"Merge branch 'main' of https://github.com/laoluojuhai/digital-employee-os into codex/protected-http-mcp-20260924\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:24:34-07:00"},{"Sha1":"72324a8f5601d0123c7b13e5c00c9db603da8fa9","Message":"test(governance): refresh protected mcp evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:21:34-07:00"},{"Sha1":"d1d7d5e390239eb89464a53b19cfe22d59db0f93","Message":"docs(governance): record protected control-plane acceptance\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:20:27-07:00"},{"Sha1":"bcdcdb68160ff63307841bffb9b7e08c40c0726a","Message":"feat(mcp): connect OS to protected control plane\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:45:13-07:00"}],"HeadCommit":{"Sha1":"0ec1ffec8962590df5d7d130b04c445815f86a15","Message":"test(governance): rebind reports after main merge\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T17:25:32-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/4a4c3e77cc30429ccc00f274c19e073053f52f73...0ec1ffec8962590df5d7d130b04c445815f86a15","Len":5}...
|
1790295992
|
Edit
Delete
|
|
32912
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4a4c3e77c {"Commits":[{"Sha1":"4a4c3e77cc30429ccc00f274c19e073053f52f73","Message":"docs(operations): record control-plane wiring rollout\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:09:32-07:00"}],"HeadCommit":{"Sha1":"4a4c3e77cc30429ccc00f274c19e073053f52f73","Message":"docs(operations): record control-plane wiring rollout\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:09:32-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/00fad17f6b0dc914bc2382e9628907a656f67c86...4a4c3e77cc30429ccc00f274c19e073053f52f73","Len":1}...
|
1790291379
|
Edit
Delete
|
|
32911
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"00fad17f6 {"Commits":[{"Sha1":"00fad17f6b0dc914bc2382e9628907a656f67c86","Message":"Merge remote-tracking branch 'gitea/main' into codex/control-plane-deployment-wiring\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:04:43-07:00"},{"Sha1":"e9ac251e56ee8f922a81fc45af0636a7af875bed","Message":"fix(platform): isolate read credentials and record framework F15\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:04:22-07:00"},{"Sha1":"2f1000f6b6aee678eb5f4ab9549916b32a301c69","Message":"Merge remote-tracking branch 'gitea/main' into codex/control-plane-deployment-wiring\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T15:51:40-07:00"},{"Sha1":"1a9313fdb25e3bd7faeae2d031b63743c10b0cc5","Message":"fix(platform): wire governed control-plane integrations for production\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T15:51:35-07:00"}],"HeadCommit":{"Sha1":"00fad17f6b0dc914bc2382e9628907a656f67c86","Message":"Merge remote-tracking branch 'gitea/main' into codex/control-plane-deployment-wiring\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:04:43-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/db3701c4a088aceab24190f1e1aae94736cfc395...00fad17f6b0dc914bc2382e9628907a656f67c86","Len":4}...
|
1790291117
|
Edit
Delete
|
|
32910
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"db3701c4a {"Commits":[{"Sha1":"db3701c4a088aceab24190f1e1aae94736cfc395","Message":"merge: preserve parallel control-plane governance updates\n\n# Conflicts:\n#\tdocs/domain/enterprise-control-plane-integration-governance.md\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:02:19-07:00"},{"Sha1":"ecc1cbada0289e3e4720ff72c797c560fcd39616","Message":"docs(governance): capture control-plane integration experience\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T15:59:09-07:00"},{"Sha1":"6e3c399fe1a61dcd607d3f33f5e5af7eaefe6c1f","Message":"fix(governance): 收窄数字员工控制面接入边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T06:58:28-07:00"}],"HeadCommit":{"Sha1":"db3701c4a088aceab24190f1e1aae94736cfc395","Message":"merge: preserve parallel control-plane governance updates\n\n# Conflicts:\n#\tdocs/domain/enterprise-control-plane-integration-governance.md\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T16:02:19-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/5959eda04376f4872c2470d970bc4677c89e0e77...db3701c4a088aceab24190f1e1aae94736cfc395","Len":3}...
|
1790290954
|
Edit
Delete
|
|
32875
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5959eda04 {"Commits":[{"Sha1":"5959eda04376f4872c2470d970bc4677c89e0e77","Message":"docs(运维): 记录控制面接入治理部署\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T07:31:53-07:00"}],"HeadCommit":{"Sha1":"5959eda04376f4872c2470d970bc4677c89e0e77","Message":"docs(运维): 记录控制面接入治理部署\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T07:31:53-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/822c8272c9ea782d9d265e0f39ff0c0ea30efe1c...5959eda04376f4872c2470d970bc4677c89e0e77","Len":1}...
|
1790260324
|
Edit
Delete
|
|
32874
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"822c8272c {"Commits":[{"Sha1":"822c8272c9ea782d9d265e0f39ff0c0ea30efe1c","Message":"fix(governance): 收窄数字员工控制面接入边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T06:58:28-07:00"}],"HeadCommit":{"Sha1":"822c8272c9ea782d9d265e0f39ff0c0ea30efe1c","Message":"fix(governance): 收窄数字员工控制面接入边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-24T06:58:28-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/f4d48893d22c4c7245df152a21979952cb804511...822c8272c9ea782d9d265e0f39ff0c0ea30efe1c","Len":1}...
|
1790258503
|
Edit
Delete
|
|
32755
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f4d48893d {"Commits":[{"Sha1":"f4d48893d22c4c7245df152a21979952cb804511","Message":"chore(reports): check:runtime 回绑 @ ba482c2\n\nruntime 30/30 步、919 tests / 0 failures(地板 683)、行为矩阵 204/204、产品验收 274 例,\nprovenance gitSha=ba482c2 / worktreeDirty:false;docs-truth-recheck 转绿。\n基座为一次性容器 PostgreSQL :55491 / Redis :55492/6(CI 钉版镜像)。\n\n只提交本轮 runtime 重生成的 13 份报告;证据新鲜度 runtime 行随之回绑,\n锚点按 C241 指向父提交 ba482c2。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T16:46:43-07:00"},{"Sha1":"ba482c26b74cc524d874b4a05a56d6acc7251f9d","Message":"docs(治理): 动态区数字前置到 clean 5e74b57 实测值;内核边界报告回绑 @ 5e74b57\n\ncheck:runtime 在 clean 5e74b57 上 29/30 步通过,唯一红步 docs-truth-recheck 是文档漂移:\n· tests-passing / runtime 证据行 819 → 919(取自该轮实测 919 tests / 0 failures,\n 由本批下一轮 runtime 复跑证实);\n· own-test-cases 829 → 875(C70 口径,已跟踪源码实数 112 文件 / 875 例);\n· 快照锚点 cc6db50 → 5e74b57(原锚点实测落后 12,超出 +1 自指窗);\n· 内核边界 field-1..4 与逐文件负探针红:文档 158/158、261/261 本就正确,是已提交的\n reports/kernel-boundaries.latest.json 停在 0174a1a 脏工作区的 150/249。本提交附带在\n clean 5e74b57 上实跑 check:kernel-boundaries 的报告(0 违规、7/7 负探针)。\n\n未改任何门禁脚本、地板或 baseline。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T16:28:18-07:00"}],"HeadCommit":{"Sha1":"f4d48893d22c4c7245df152a21979952cb804511","Message":"chore(reports): check:runtime 回绑 @ ba482c2\n\nruntime 30/30 步、919 tests / 0 failures(地板 683)、行为矩阵 204/204、产品验收 274 例,\nprovenance gitSha=ba482c2 / worktreeDirty:false;docs-truth-recheck 转绿。\n基座为一次性容器 PostgreSQL :55491 / Redis :55492/6(CI 钉版镜像)。\n\n只提交本轮 runtime 重生成的 13 份报告;证据新鲜度 runtime 行随之回绑,\n锚点按 C241 指向父提交 ba482c2。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T16:46:43-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/5e74b570d66afa7b74530bcc0264ab3c4abf95ad...f4d48893d22c4c7245df152a21979952cb804511","Len":2}...
|
1790207630
|
Edit
Delete
|
|
32748
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5e74b570d {"Commits":[{"Sha1":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","Message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T11:03:06-07:00"}],"HeadCommit":{"Sha1":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","Message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T11:03:06-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/0c9109de87bdf60dd818cf35dbec34de148a28e9...5e74b570d66afa7b74530bcc0264ab3c4abf95ad","Len":1}...
|
1790205303
|
Edit
Delete
|
|
32747
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0c9109de8 {"Commits":[{"Sha1":"0c9109de87bdf60dd818cf35dbec34de148a28e9","Message":"Merge branch 'main' into feat/c19-usage-export\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T09:02:54-07:00"},{"Sha1":"aa2a9af749519f94e08694b4bbc7afcdd863d95b","Message":"test(llm): C19 双仓联调用例——真实 OS 账本 → 真实平台 cost-capacity → 成本页读回(两后端对等)\n\nC19_PLATFORM_E2E_URL / C19_PLATFORM_E2E_TOKEN 未给即整组 skip,不冒充通过。\n2026-09-23 本地实跑:平台 feat/cost-capacity-authority @ 5e5a2306(:3431,profile cost-capacity,JWT HS256,\nlocal 端口)+ OS 两后端各 1/1 通过:三类口径各一笔全部落账(6 修订 APPLIED)、同修订重发 DUPLICATE_NOOP、\n投递前成本页 unknown 非 0、投递后 syncStatus=current 且三桶与 OS 账本固定水位逐项一致。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T09:02:37-07:00"},{"Sha1":"ab9859929a0e71540087a83ddc1c12cea5a2a579","Message":"feat(llm): C19 用量投影出站到平台 cost-capacity(DEC-043 消费侧)\n\n- 账本:llm_invocations 新增 usage_revision(唯一单调修订号,不复用对账乐观锁 version);\n claim / recordResponse(改为 $transaction)/ recordFailure / 人工对账各在同一 tx 递增修订并写一条\n llm_usage_exports(id = sourceOutboxId;投影体只含成本事实,不含 prompt/responseBody/凭据/证据)。\n actor 只经本租户 AgentRuntime 解析,解析不到即整笔回滚;显式 MODEL 摘要(runtimeId=会话 id)如实不导出。\n- 中继:两后端 dispatchLlmUsageExportBatch(system RLS、SKIP LOCKED 领取、30s 超时领取退回、\n 201/200 送达、400/403/409/413 死信、其余指数退避封顶 5 分钟、20 次死信),接入独立 dispatcher 与\n API 进程内 dispatcher(DISPATCHERS_ENABLED=0 关闭、验收租户 seam)。凭据按租户\n PLATFORM_COST_USAGE_CREDENTIALS(一枚 token = 一个租户),缺凭据租户保持待发不死信。\n- 成本页:GET /api/llm/usage/actors/:actorId/platform-projection(llm.read),平台不可用只回稳定原因码、\n 不补 0,并给出本地待发/死信/滞后;Web ActorLlmCostPanel 新增「平台成本投影」区块。\n- 契约:@repo/contracts 1.27.0 新增 llm-usage-export.ts(投影体/回执/汇总 Zod、计量依据、响应分类、\n 退避、按租户凭据解析);RLS 表/模型目录、治理注册表、内核边界/包/导出锁同步。\n- 迁移 20261001000000_llm_usage_export 两后端逐字一致(ENABLE+FORCE RLS 双策略)。\n- 测试:两后端同名 llm.usage-export.acceptance(各 6 例真实 PG/Redis)+ contracts 10 例;\n llm.acceptance 并发 claim 用例改用真实 Runtime(claim 现需可解析 actor)。\n\n证据等级:本地工作区真实 DB 模块测试;未跑完整 check:runtime,未做平台联调。\nreports/ 未随本提交刷新(回绑单独成提交)。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T08:01:52-07:00"}],"HeadCommit":{"Sha1":"0c9109de87bdf60dd818cf35dbec34de148a28e9","Message":"Merge branch 'main' into feat/c19-usage-export\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T09:02:54-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/e12d0f25ca07d2a70a7bc7520b43a311940d35d5...0c9109de87bdf60dd818cf35dbec34de148a28e9","Len":3}...
|
1790205050
|
Edit
Delete
|
|
32727
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e12d0f25c {"Commits":[{"Sha1":"e12d0f25ca07d2a70a7bc7520b43a311940d35d5","Message":"fix(product): register juhai hr 0.19.4\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T08:00:41-07:00"}],"HeadCommit":{"Sha1":"e12d0f25ca07d2a70a7bc7520b43a311940d35d5","Message":"fix(product): register juhai hr 0.19.4\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T08:00:41-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/0174a1a708bf9d52676fc92db9f4c552af22f50a...e12d0f25ca07d2a70a7bc7520b43a311940d35d5","Len":1}...
|
1790175648
|
Edit
Delete
|
|
32719
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0174a1a70 {"Commits":[{"Sha1":"0174a1a708bf9d52676fc92db9f4c552af22f50a","Message":"chore(reports): record juhai hr 0.19.3 evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T07:25:41-07:00"}],"HeadCommit":{"Sha1":"0174a1a708bf9d52676fc92db9f4c552af22f50a","Message":"chore(reports): record juhai hr 0.19.3 evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T07:25:41-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/e9988b81fd6b438e28ca6164eb0b24d05cb244a8...0174a1a708bf9d52676fc92db9f4c552af22f50a","Len":1}...
|
1790173549
|
Edit
Delete
|
|
32700
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e9988b81f {"Commits":[{"Sha1":"e9988b81fd6b438e28ca6164eb0b24d05cb244a8","Message":"fix(product): upgrade juhai hr to 0.19.3\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T05:58:15-07:00"}],"HeadCommit":{"Sha1":"e9988b81fd6b438e28ca6164eb0b24d05cb244a8","Message":"fix(product): upgrade juhai hr to 0.19.3\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T05:58:15-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/2e4dd56fc3955036939f7b88534761b69d535e6b...e9988b81fd6b438e28ca6164eb0b24d05cb244a8","Len":1}...
|
1790168309
|
Edit
Delete
|
|
32692
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2e4dd56fc {"Commits":[{"Sha1":"2e4dd56fc3955036939f7b88534761b69d535e6b","Message":"chore(reports): record clean product acceptance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T05:00:30-07:00"}],"HeadCommit":{"Sha1":"2e4dd56fc3955036939f7b88534761b69d535e6b","Message":"chore(reports): record clean product acceptance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T05:00:30-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/36fa967e51ba51623084fcf5a1a864bc6d313182...2e4dd56fc3955036939f7b88534761b69d535e6b","Len":1}...
|
1790164843
|
Edit
Delete
|
|
32679
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"36fa967e5 {"Commits":[{"Sha1":"36fa967e51ba51623084fcf5a1a864bc6d313182","Message":"feat(product): upgrade juhai hr to 0.19.2\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T03:57:58-07:00"}],"HeadCommit":{"Sha1":"36fa967e51ba51623084fcf5a1a864bc6d313182","Message":"feat(product): upgrade juhai hr to 0.19.2\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T03:57:58-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/5523aac7fef0c6a05d69f5eebc0fd6cc65c171b1...36fa967e51ba51623084fcf5a1a864bc6d313182","Len":1}...
|
1790161089
|
Edit
Delete
|
|
32674
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5523aac7f {"Commits":[{"Sha1":"5523aac7fef0c6a05d69f5eebc0fd6cc65c171b1","Message":"fix(employment): separate business and Fact versions\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T03:19:06-07:00"}],"HeadCommit":{"Sha1":"5523aac7fef0c6a05d69f5eebc0fd6cc65c171b1","Message":"fix(employment): separate business and Fact versions\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-23T03:19:06-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/374f4749d6aeb24a49818a90b603dd60bd5e615a...5523aac7fef0c6a05d69f5eebc0fd6cc65c171b1","Len":1}...
|
1790158955
|
Edit
Delete
|
|
31612
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"374f4749d {"Commits":[{"Sha1":"374f4749d6aeb24a49818a90b603dd60bd5e615a","Message":"chore(reports): 刷新完整治理与运行验收证据\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:27:58-07:00"}],"HeadCommit":{"Sha1":"374f4749d6aeb24a49818a90b603dd60bd5e615a","Message":"chore(reports): 刷新完整治理与运行验收证据\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:27:58-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/761072ce9154ac38928c05402de32c3829f1abd0...374f4749d6aeb24a49818a90b603dd60bd5e615a","Len":1}...
|
1789964887
|
Edit
Delete
|
|
31606
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"761072ce9 {"Commits":[{"Sha1":"761072ce9154ac38928c05402de32c3829f1abd0","Message":"docs(operations): record governance rollout\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:00:11-07:00"},{"Sha1":"cc6db5096fb620ee9170b04fb3b51ed0431ccccf","Message":"fix(governance): finalize gate evidence and API locks\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T20:56:03-07:00"}],"HeadCommit":{"Sha1":"761072ce9154ac38928c05402de32c3829f1abd0","Message":"docs(operations): record governance rollout\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T21:00:11-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/9431bb4cfdfbc4e28e052c52f3b34b74a7d4bb4e...761072ce9154ac38928c05402de32c3829f1abd0","Len":2}...
|
1789963255
|
Edit
Delete
|
|
31498
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9431bb4cf {"Commits":[{"Sha1":"9431bb4cfdfbc4e28e052c52f3b34b74a7d4bb4e","Message":"docs: record readiness refresh regression and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T05:55:11-07:00"},{"Sha1":"3c8175bb9966806116fa46a5df7fd8270e2c8c88","Message":"fix(onboarding): refresh readiness issues as profile fields change\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T05:42:27-07:00"}],"HeadCommit":{"Sha1":"9431bb4cfdfbc4e28e052c52f3b34b74a7d4bb4e","Message":"docs: record readiness refresh regression and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-20T05:55:11-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/1dae5c842780000bb72c7d9ba6ae17adac2faf3c...9431bb4cfdfbc4e28e052c52f3b34b74a7d4bb4e","Len":2}...
|
1789909153
|
Edit
Delete
|
|
31368
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1dae5c842 {"Commits":[{"Sha1":"1dae5c842780000bb72c7d9ba6ae17adac2faf3c","Message":"docs: record responsibility binding verification and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:48:17-07:00"},{"Sha1":"e3b20ae0b4d9cec5926dddb1b79d7285e576fa23","Message":"fix(onboarding): validate responsibility bindings and repair ready employees\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:46:26-07:00"}],"HeadCommit":{"Sha1":"1dae5c842780000bb72c7d9ba6ae17adac2faf3c","Message":"docs: record responsibility binding verification and local deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:48:17-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/68c461908af592429f5d1ea7c248731a756f73d6...1dae5c842780000bb72c7d9ba6ae17adac2faf3c","Len":2}...
|
1789883331
|
Edit
Delete
|
|
31353
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"68c461908 {"Commits":[{"Sha1":"68c461908af592429f5d1ea7c248731a756f73d6","Message":"docs(onboarding): record skill validation and verified frontend deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:26:25-07:00"},{"Sha1":"5a42f3bce2ea0365a1a93baf650dad0d66be99bc","Message":"fix(onboarding): validate and retain explicit skill selections\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:19:53-07:00"}],"HeadCommit":{"Sha1":"68c461908af592429f5d1ea7c248731a756f73d6","Message":"docs(onboarding): record skill validation and verified frontend deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:26:25-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/5c934f6995108226630166390917c999dcbfb371...68c461908af592429f5d1ea7c248731a756f73d6","Len":2}...
|
1789882003
|
Edit
Delete
|
|
31352
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5c934f699 {"Commits":[{"Sha1":"5c934f6995108226630166390917c999dcbfb371","Message":"docs(hr): record local deployment and remaining activation boundary\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:18:31-07:00"}],"HeadCommit":{"Sha1":"5c934f6995108226630166390917c999dcbfb371","Message":"docs(hr): record local deployment and remaining activation boundary\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:18:31-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/888fbd1a9e8c2c373d8082885920795e441de858...5c934f6995108226630166390917c999dcbfb371","Len":1}...
|
1789881529
|
Edit
Delete
|
|
31351
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"888fbd1a9 {"Commits":[{"Sha1":"888fbd1a9e8c2c373d8082885920795e441de858","Message":"docs(hr): publish validated workspace acceptance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:14:19-07:00"},{"Sha1":"46589618dc3e228c79aa23d78f34a33e720b4f2d","Message":"docs(governance): align runtime evidence with 819 executed tests\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:01:44-07:00"},{"Sha1":"568fb4d989746ee41e8c25fbb11f9d9c2812618b","Message":"chore(hr): freeze strengthened acceptance contract at 0.19.1\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T21:56:11-07:00"},{"Sha1":"a799ae4f1b352a144d9d658f5c788da0d1afea0c","Message":"test(hr): verify separate approvals, stale sources and query recovery\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T21:55:21-07:00"},{"Sha1":"ca77b3bc4712784321dfad13567fc77018ae69f5","Message":"feat(hr): govern personnel workspace and assisted transfer workflow\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T21:48:11-07:00"}],"HeadCommit":{"Sha1":"888fbd1a9e8c2c373d8082885920795e441de858","Message":"docs(hr): publish validated workspace acceptance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T22:14:19-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/0bacabbbf2ed7e903ea7c77bad7cb973220417f9...888fbd1a9e8c2c373d8082885920795e441de858","Len":5}...
|
1789881294
|
Edit
Delete
|
|
31271
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0bacabbbf {"Commits":[{"Sha1":"0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Message":"docs(acceptance): record MCP verification and shared-dev OS entry\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:37:05-07:00"},{"Sha1":"545112d3ab25eef1235f4ba7e96425f77521cf9a","Message":"chore(governance): register MCP consumer contract exports\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:33:38-07:00"},{"Sha1":"cb8177419cb374287ef67bf5a65cdfa2fe5d3a5f","Message":"feat(mcp): add governed read-only control-plane client and evidence view\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:23:59-07:00"},{"Sha1":"edec489b68a5957de8136f926c39f509e6b2147c","Message":"feat(realtime): 产品事件补齐请求上下文——不改产品,来源留在 OS 侧\n\nB3″ 如实登记过一条:产品事件走 @repo/product-runtime 的裸 SQL INSERT,Prisma 扩展覆盖不到,\n所以它们没有 context。本批补齐,但**原计划的做法行不通,改了路子**:\n\n原计划「给 ProductSqlRuntimeOptions 加上下文入参」——查下来 createProductSqlRuntime 的调用方是\n**产品自己的组合根**(products/\u003cid\u003e/src/os-composition.mjs),而 products/\u003cid\u003e/ 按双形态原则\n只是派生制品、真源在独立仓。改它的签名就是制造与独立仓的漂移,必须走 GAP-10 对账。\n本仓不越过那道协议去改派生制品。\n\n改为 OS 侧进程级 provider:`setProductOutboxContextProvider`,两后端在装配期各注册一次自己的\n`outboxContext`(读 AsyncLocalStorage),**产品代码一个字不用改**。\n\n**这条依赖一个必须验证而不是假设的前提**:后端按包名 import 与产品按绝对路径 require,\n拿到的是不是同一个模块实例?不是的话,provider 注册在一边、读在另一边,上下文会静默为 null\n——正是那种「看起来接上了、其实全是空」的假绿。实测验证:pnpm 软链 + Node realpath 解析\n使两者命中同一 CJS 缓存项,`byPath.setProductOutboxContextProvider === byName.…` 为 true。\n为此两后端新增 @repo/product-runtime workspace 依赖(它是本仓 6 个稳定内核包之一,\n不是对产品的依赖,方向没问题)。\n\n失败语义:provider 抛错时返回空上下文而不是让事务失败——**上下文缺席远好于业务写链被拖垮**。\n未注册(worker / 独立 dispatcher)时两列为 NULL,缺席是诚实的,不合成。\n\n守护:product-runtime 单测 7 → 10(注册即带 / 未注册即 NULL / provider 抛错不拖垮写链);\ncheck:dual-backend 增 5 条 targeted 断言 + 1 个受控断线负探针(负探针 5 → 6)。\nproduct-runtime 升 1.2.0(expand-only),kernel.packages / kernel.downstream 两把锁重签,\n下游 fixture 源码未改即通过。\n\n过程中撞到一次邻近窗口:注册行插在 assertTenantAuthStartup 与框架初始化之间,撑破了 C51 的\n160 字节断言。**这次没有放宽窗口**——C51 那句「必须在框架初始化之前 fail closed」是有语义的,\n改为把注册挪到框架创建之后(它本来也不需要那么早)。\n\n证据:typecheck 14/14;pnpm check 28/28;product-runtime 10/10。\nown-test-cases 789 → 792 已按实测更新;tests-passing 仍写 786(当前 runtime 报告口径),\n等本批 runtime 实测后再改——不预写未经实测的数字。锚点按 C241 指向父提交 14983b5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T22:02:01-07:00"}],"HeadCommit":{"Sha1":"0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Message":"docs(acceptance): record MCP verification and shared-dev OS entry\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:37:05-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/14983b57ae2ab9c0e424700ca11c3f4677984400...0bacabbbf2ed7e903ea7c77bad7cb973220417f9","Len":4}...
|
1789861082
|
Edit
Delete
|
|
31232
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"14983b57a {"Commits":[{"Sha1":"14983b57ae2ab9c0e424700ca11c3f4677984400","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ dd2dab5;锚点随批次刷新\n\n· runtime 30/30 步、786 tests / 0 failures、行为矩阵 204/204,clean HEAD `dd2dab5`。\n· 静态 28/28(含 C256 的时效判定与门禁内自检 9/9)。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\nC256 上线后第一份 governance 报告:staleAcceptanceFreshnessViolations=0,\n两条陈旧源(mobile-android / mobile-ios)都落在已登记且未过期的豁免里——\n**它们仍然是陈旧的,只是不再沉默**:到 2026-12-19 若未解除,门禁会自己红。\n\n本提交按 C241 把锚点指向父提交 dd2dab5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T20:31:52-07:00"},{"Sha1":"dd2dab5799d061d69b7158585f1b38cd58a31833","Message":"feat(gates): C256 验收时效由「记录」升级为「陈旧即红,除非登记」\n\nC254(redis-auth 红 24 天)与 C255(access-audit 红 3 周)同日连出,形态一模一样:\n功能落地时打断了聚合外的 runner,它不再运行,所以没人知道。\n\n关键不在检测失灵——**两次 C234 的 agedAcceptanceReports 都如实报了陈旧,两次都没人动**。\n问题是它「记录不阻断」:一条不阻断的记录摆在一行 GREEN 旁边,不构成控制。\n\nC234 当初不阻断的理由写在注释里且成立——「强制会把离线 check 变成环境人质」。\n所以这次不是在阻断与不阻断之间二选一,而是把「为什么可以不跑」从沉默变成**登记**:\n\n· 超 14 天即红;\n· 出口是五字段登记(reason / registeredAt / expiresAt / blockedBy / replacementPlan),\n 与 platform-dependency-deviations、framework-criteria 的 missing 登记同口径——\n 半份不算、过期即红、expiresAt 非法即红、**策略文件缺失也红**(缺策略不等于没有时效要求);\n· 豁免会过期,逼人重新面对,而不是永久沉默;\n· 已不陈旧却仍挂着的豁免显形但不阻断(它自己会过期),防豁免只增不减。\n\n当前 2 条登记,都是诚实的环境限制而非拖延:\n mobileAndroidAcceptance —— 缺 JDK/SDK/device,runner 本身 fail-closed 无假绿风险;\n mobileIosAcceptance —— 缺 Xcode 26,现有报告只是无 Xcode 下的 fail-closed 自测,\n 不是 native 证据(G19 早已如实标注)。\n两条均至 2026-12-19,replacementPlan 写明各自的解除条件。\n\n**判定器自检在门禁内自跑**(9 条判据、5 条负向),不是只挂一个人工命令——\n只挂人工命令,它自己就会变成下一个 C254。这批修的就是这个病,不能自己再犯一次。\n\n活证据:摘掉 mobile-ios 豁免 → 精确报「已 24 天未重跑(上限 14 天)且无时效豁免登记」,\nmetric 由 0 变 1;恢复即绿。\n\n棘轮新增三项:staleAcceptanceFreshnessViolations(floor 0)、\nacceptanceFreshnessSelfTestCases(floor 9)、acceptanceFreshnessSelfTestNegatives(floor 5)。\n静态轴仍是 28 步——判定挂在 check:governance 内,没有新增步骤。\n\n证据:pnpm check 28/28;自检 9/9。锚点按 C241 指向父提交 8419453。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T20:19:11-07:00"}],"HeadCommit":{"Sha1":"14983b57ae2ab9c0e424700ca11c3f4677984400","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ dd2dab5;锚点随批次刷新\n\n· runtime 30/30 步、786 tests / 0 failures、行为矩阵 204/204,clean HEAD `dd2dab5`。\n· 静态 28/28(含 C256 的时效判定与门禁内自检 9/9)。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\nC256 上线后第一份 governance 报告:staleAcceptanceFreshnessViolations=0,\n两条陈旧源(mobile-android / mobile-ios)都落在已登记且未过期的豁免里——\n**它们仍然是陈旧的,只是不再沉默**:到 2026-12-19 若未解除,门禁会自己红。\n\n本提交按 C241 把锚点指向父提交 dd2dab5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T20:31:52-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/8419453dedda057cca061637c499e06b345c8db8...14983b57ae2ab9c0e424700ca11c3f4677984400","Len":2}...
|
1789788715
|
Edit
Delete
|
|
31231
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8419453de {"Commits":[{"Sha1":"8419453dedda057cca061637c499e06b345c8db8","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 43e3fe5;锚点随批次刷新\n\n· runtime 30/30 步、786 tests / 0 failures、行为矩阵 204/204,clean HEAD `43e3fe5`。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\n本批只动了两个门禁脚本(check-access-audit 的 envsubst 白名单、check-operations 的 O4\n派生断言),runtime 路径未变,本可不重跑。**仍然重跑了**:这一批讲的就是「陈旧证据不算数」,\n给自己开例外会让整批话失去分量——runtime 证据现在绑在本批 HEAD 上,不是上一批的。\n\n本提交按 C241 把锚点指向父提交 43e3fe5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T20:03:50-07:00"},{"Sha1":"43e3fe53b3cef4f9941b75a4cc2a132349a37505","Message":"fix(gates): C255 access-audit 网关三周起不来 + 陈旧报告全面复验;O4 改为从模板派生\n\nC254 说「聚合外的 runner 会静默腐化」,那就把这句话查实:基线上还有 9 份报告 19–26 天陈旧\n且都标着 GREEN。能本机复验的七份全部重跑,结果分两类——\n\n**一类是本机缺前提,不是回归**:\n· trace-backend 依次缺 grafana/tempo:3.0.3、prom/prometheus:v3.14.0,runner fail-closed 拒跑,\n 行为正确。拉回后实跑通过(Collector→Tempo 入库、双重启持久、告警 3/3)。\n 顺带订正 CLAUDE.md 里 C243 的说法:「本机 Docker 走离线代理,基础镜像拉取一律超时」当日\n 已不成立,pull 正常。\n· 五个 check:*-image runner(postgres / alertmanager / loki / tempo / otel-collector)全绿。\n\n**一类是真回归,判责 C255**:\nC230 给网关模板加了 set_real_ip_from ${REAL_IP_TRUSTED_CIDR},同步了模板 / compose /\n.env.example / O4 断言四处,**唯独漏了 check-access-audit.mjs 自己硬编码的那份\nNGINX_ENVSUBST_FILTER**。变量不被替换,nginx 以\n`host not found in set_real_ip_from \"${REAL_IP_TRUSTED_CIDR}\"` 启动失败——\n该专项自 2026-08-29 起红了三周,而基线行按 08-26 的绿盘一直标着 GREEN。\n讽刺的是 O4 恰有一条「envsubst filter must allow the real_ip trust variable」:\n**它只查 compose,没查自己的测试夹具**。\n\n修法的重点不在补那一个变量,而在别让下一个变量再漏:O4 该断言改为**从模板派生**——\n模板里出现的每个 ${VAR} 必须同时出现在 compose 与 runner 两份白名单里,漏一个即红。\n负向已验证:摘掉变量精确报 `[O4] ... missing template variables: REAL_IP_TRUSTED_CIDR`。\n\n**今天两个 C 号(C254 / C255)是同一个结构**:功能落地时打断了聚合外的 runner,\n而它不再运行,所以没人知道。`agedAcceptanceReports` 每次都如实报了陈旧,\n但「记录不阻断」——一条不阻断的记录摆在一行 GREEN 旁边不构成控制。\n把它升级为阻断仍是独立立项(当前仍有 mobile-android / mobile-ios /\nimage-vulnerabilities 三项本机不可复验)。\n\n证据:trace-backend、access-audit、五个镜像 runner 七份报告全部回绑当日并 status=passed;\nCLAUDE.md 三处新鲜度日期随报告 generatedAt 同步(C132 会持续盯);pnpm check 28/28。\n\n锚点按 C241 指向父提交 c015261。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:51:02-07:00"}],"HeadCommit":{"Sha1":"8419453dedda057cca061637c499e06b345c8db8","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 43e3fe5;锚点随批次刷新\n\n· runtime 30/30 步、786 tests / 0 failures、行为矩阵 204/204,clean HEAD `43e3fe5`。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\n本批只动了两个门禁脚本(check-access-audit 的 envsubst 白名单、check-operations 的 O4\n派生断言),runtime 路径未变,本可不重跑。**仍然重跑了**:这一批讲的就是「陈旧证据不算数」,\n给自己开例外会让整批话失去分量——runtime 证据现在绑在本批 HEAD 上,不是上一批的。\n\n本提交按 C241 把锚点指向父提交 43e3fe5。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T20:03:50-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/c015261889aca3b700d1226045d8f66a27c3d431...8419453dedda057cca061637c499e06b345c8db8","Len":2}...
|
1789787034
|
Edit
Delete
|
|
31228
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c01526188 {"Commits":[{"Sha1":"c015261889aca3b700d1226045d8f66a27c3d431","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 520cacc;锚点随批次刷新\n\nB4 三级证据绑定 clean HEAD `520cacc`(worktreeDirty:false):\n\n· runtime 30/30 步、**786 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 786 = 776 + 本批 10 例,与前置预测一致。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate(接口 503 重试后成功)。\n\n**本轮 runtime 的额外含义**:db-credential-separation / tracing / multi-instance /\ndependency-resilience / capacity / write-capacity 六个子门禁**第一次在聚合内跑在非超级用户\n登录上**——此前它们以 production 姿态启动真实入口却连超级用户,RLS 对其不生效。\n`dbCredentialSuperuserStartupRejected: 2` 是两个生产入口在超级用户连接下拒启的机器回执。\n\n本提交按 C241 把锚点指向父提交 520cacc;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:23:25-07:00"},{"Sha1":"520cacc00a6da74c376ff46886b4c61dea393ab3","Message":"chore(reports): 静态 28/28 回绑 @ 52665a2;数字前置到本批实测值\n\nown-tests 99 → 100、own-test-cases 779 → 789(+1 文件 / +10 例 RLS 启动姿态判定单测;\nC70 只计 git 已跟踪文件,故必须在实现提交落地后才数得到)。\n\ntests-passing 776 → 786 是**预测值**(776 + 10),由下一轮 runtime 实测证实。\n前三批都验证过这条路子:预测被实测原样证实。\n\n锚点按 C241 指向父提交 52665a2。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:10:01-07:00"},{"Sha1":"52665a2f60d48062cfe891dafcd7728379524b34","Message":"feat(kernel-repin): B4 RLS 启动期姿态探测——顺带修掉验收基座一直跑在超级用户上\n\n开工实测让 B4 第三次校准范围(先「rls 二选一」→ §2 订正「两模块互补」→「双 URL + 启动探测」)。\n**双 URL 那一半不做**:生产编排早有等价的三登录分离(MIGRATION / tenant API / system dispatcher),\nC55/C56 用真库临时 login + 8 个负例验过。语义已覆盖,只差名字;改名要牵动 C55/C56 全部验收面、\n8 个 runner 与生产编排,换不来任何安全收益。登记进迁移手册 §6 分歧账本。\n\n**真正缺的那一件做了。** rls.ts 文件头一直写着「非超级用户生产连接」,但那只是**运维前提**:\n部署时把 URL 填成超级用户,应用照常启动,FORCE RLS 对超级用户不生效,所有 RLS 断言恒绿。\ncheck:db-credential-separation 验的是**供给对不对**,不是**应用会不会拒绝**。\n现在四个入口(两 API 装配点 + 两 dispatcher)在 enforce 姿态下查两个事实——登录不得\nsuperuser/BYPASSRLS、清单内每张租户表已 FORCE RLS,任一不满足即拒启,错误带\n[RLS_RUNTIME_ROLE_UNSAFE] / [RLS_TABLES_NOT_FORCED]。姿态沿用已有的 RLS_CONTEXT_REQUIRED=1,\n不引入第二个开关。\n\n**它当场揪出的第二件事,比第一件更值钱**:加完探测跑第一个 runner 就红了,红的不是生产,\n是本仓自己的验收基座——七个 runner 都以 NODE_ENV=production 启动真实入口,却把共享验收库的\n**超级用户** URL 递给子进程。\"生产入口能跑\"这条证据一直比它看起来的弱:任何只在普通登录下\n才暴露的权限问题,在这些 runner 里结构上看不见。新增 scripts/lib/acceptance-runtime-login.mjs\n幂等供给非超级用户登录(API 走 tenant、dispatcher 走 system,与生产同构),\n**七个全部在新登录下通过**——没有发现只在超级用户下才活得下来的路径,说明 RLS 桥本身是对的,\n这条证据链只是终于名副其实了。\n\ncheck:redis-auth-live 是唯一需要 tenant+system 双成员资格的(它刻意单进程走完\n写库 → in-process dispatcher → Pub/Sub)。为它单开 combined 登录,并在代码里写明\n**它比生产姿态弱且是刻意的**,不构成\"生产也可以合并\"的先例。\n\n**顺带发现一个早已存在的红,判责 C254**:redis-auth 在新登录下仍红;git stash 回到 HEAD\n01d0eab 用超级用户跑一样红,与 B4 无关。根因是 C253 的第四处遗漏——它同样写死基础频道却跑在\nRedis DB 7 上。C253 修了三处,漏它是因为 check:redis-auth 不在 check:runtime 聚合里、修完\n再没跑过,而基线行从 2026-08-26 起一直标着 GREEN。C234 的 agedAcceptanceReports 当时就报了\n24 天陈旧,但「记录不阻断」——**一条不阻断的记录摆在一行 GREEN 旁边,不构成控制**。已修并转绿。\n\n证据:contracts 10 例判定单测;check:db-credentials 负例 8 → 10(新增两个生产入口在超级用户\n连接下拒启的**活证据**);七个 runner 在非超级用户登录下全绿;check:dual-backend 增 11 条\ntargeted 断言 + 1 个受控断线负探针(负探针 4 → 5);pnpm check 28/28;typecheck 13/13。\ncontracts 升 1.25.0(expand-only),两把锁重签。\n\n过程中一次自己的操作失误,如实记:为了给 redis-auth 的红做归因,我 git stash 了整个工作区,\npop 时因未跟踪文件已存在而失败,而我用 \u003e/dev/null 把报错吞了——正是本仓记过的「别用\ncmd \u003e/dev/null \u0026\u0026 echo 掩盖退出码」。已逐文件比对 stash 内容确认无丢失后才 drop。\n\n本批不做:把 agedAcceptanceReports 从「记录」升级为「阻断」——当前 7 份报告 19–24 天陈旧\n(含需 Docker / Xcode 的),一刀切会把整块板子打红。独立立项。\n\nruntime 整轮与报告回绑在下一提交。锚点按 C241 指向父提交 01d0eab。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:07:42-07:00"}],"HeadCommit":{"Sha1":"c015261889aca3b700d1226045d8f66a27c3d431","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 520cacc;锚点随批次刷新\n\nB4 三级证据绑定 clean HEAD `520cacc`(worktreeDirty:false):\n\n· runtime 30/30 步、**786 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 786 = 776 + 本批 10 例,与前置预测一致。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate(接口 503 重试后成功)。\n\n**本轮 runtime 的额外含义**:db-credential-separation / tracing / multi-instance /\ndependency-resilience / capacity / write-capacity 六个子门禁**第一次在聚合内跑在非超级用户\n登录上**——此前它们以 production 姿态启动真实入口却连超级用户,RLS 对其不生效。\n`dbCredentialSuperuserStartupRejected: 2` 是两个生产入口在超级用户连接下拒启的机器回执。\n\n本提交按 C241 把锚点指向父提交 520cacc;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T19:23:25-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/01d0eabfa71ec061d876d39d4f399d2290530a15...c015261889aca3b700d1226045d8f66a27c3d431","Len":3}...
|
1789784609
|
Edit
Delete
|
|
31226
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"01d0eabfa {"Commits":[{"Sha1":"01d0eabfa71ec061d876d39d4f399d2290530a15","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 56e6e57;锚点随批次刷新\n\nRedis 发布时限批次的三级证据,绑定 clean HEAD `56e6e57`(worktreeDirty:false):\n\n· runtime 30/30 步、**776 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 776 = 759 + 本批 17 例(contracts 9 + 两后端各 4),与前置预测一致。\n dependency-resilience / multi-instance / write-capacity 这些真打 Redis 的\n 门禁全过——2 秒时限没有误伤健康链路。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate\n (npm 审计接口 503 重试两次后成功)。\n\n本提交按 C241 把锚点指向父提交 56e6e57;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:44:00-07:00"},{"Sha1":"56e6e57c22a534a07ac54bc5f8bf9da1c6806a03","Message":"chore(reports): 静态 28/28 回绑 @ 00cd95d;数字前置到本批实测值\n\nown-tests 96 → 99、own-test-cases 762 → 779(+3 文件 / +17 例:contracts 9 例判定单测\n与两后端各 4 例黑洞 Redis 验收;C70 只计 git 已跟踪文件,故必须在实现提交落地后才数得到)。\n\ntests-passing 759 → 776 是**预测值**(759 + 17),由下一轮 runtime 实测证实。\n前两批这条路子都验证过:预测被实测原样证实。\n\n锚点按 C241 指向父提交 00cd95d。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:31:04-07:00"},{"Sha1":"00cd95da0b4f2694db9528235f69d2f95a6707ab","Message":"fix(realtime): Redis 发布加可判责时限 + 批次预算刹车——此前一次 Redis 故障既不可判责也不收敛\n\nB3″ 登记的推迟项里有一条是真缺口,同日单独做掉。**先有证据再动手**:起一个「接受连接但\n永不应答」的 TCP 服务端(C63 已建模的半开/黑洞形态),用与本仓 publisher 完全相同的连接配置\n(maxRetriesPerRequest: null——BullMQ 的要求)打一次 publish,**8 秒后仍然挂着**。\n不是慢,是永远:ioredis 在该配置下无限重试,命令永不 reject。\n\n真正的后果不在「慢」,在它挂在 outbox 领取事务**之内**:\n\n 修复前 修复后\n 单行 publish 无限挂起 2s 抛 REALTIME_REDIS_COMMAND_TIMEOUT\n 该行 attempts 不增(整事务回滚) +1,事务提交\n 批内其余 49 行 一次都没试过 按预算尽量试,剩下留给下一跳\n 连续故障 每秒重开一个必然超时的事务,不收敛 10 跳后进死信,可判责终态\n 运维看到的错误 Prisma 事务超时,**指向数据库** 稳定前缀,指向 Redis\n\n**光加超时不够,这是最容易做漏的一半。** 故障时每行烧掉一个完整时限,一批 50 行 ×2s 远超\n15 秒事务预算——事务照样超时回滚、attempts 照样不增,只是从「挂着」变成「忙着」。\n所以有 realtimeDispatchBudget:每行开工前裁决「还剩不剩得下再试一行」,不够就 break,\n把剩下的留给下一跳,让本事务先把已累加的 attempts 提交掉。**收敛性来自这条刹车,不是超时。**\n\n超时**抛错不吞**:五个 publish 点各有自己的失败语义(dispatcher 累加 attempts 走死信,\n进程内扇出向上传播)。在 helper 里吞掉就变成事件静默丢失,比挂住更糟。\n\n证据:\n· contracts 9 例判定单测——含「超时后底层 promise 迟到 reject 不产生 unhandledRejection」\n 与「15s 预算最多放行 7 行」(关键不是 7,是它 \u003c 50);\n· 两后端各 4 例真实 ioredis 打黑洞服务端验收,**直接测生产类**\n (new EventBus(hungRedis) / new EventBusService(hungRedis, ...))——在测试里另写一份\n publish 只能证明 helper 能用,证明不了生产路径接了它;\n· check:dual-backend 增 12 条 targeted 断言(五个 publish 点 + 两处刹车 + 黑洞用例本身)\n + 1 个受控断线负探针,dualBackendParityNegativeProbes 3 → 4。\n负向实测:摘掉 Fastify 生产 EventBus.publish 的时限 → 该用例挂满 30 秒测试上限后红、\n其余三例仍绿(精确命中);已恢复现场。\n\n顺带调了一个既有断言并注明理由:G16 的「提交后才发投递样本」用 4200 字节邻近窗口,预算刹车\n合法地把两点推远约 600 字节,放宽到 4800。它是邻近性启发式不是语义判据,意图未变;\n我也把预算日志挪到 observeDelivery 之后,尽量少动它的相邻性。\n\ncontracts 升 1.24.0(expand-only),两把锁重签,下游 fixture 源码未改即通过。\n\n证据:typecheck 13/13;pnpm check 28/28。runtime 整轮与报告回绑在下一提交。\n锚点按 C241 指向父提交 94ec469。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:29:12-07:00"}],"HeadCommit":{"Sha1":"01d0eabfa71ec061d876d39d4f399d2290530a15","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 56e6e57;锚点随批次刷新\n\nRedis 发布时限批次的三级证据,绑定 clean HEAD `56e6e57`(worktreeDirty:false):\n\n· runtime 30/30 步、**776 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 776 = 759 + 本批 17 例(contracts 9 + 两后端各 4),与前置预测一致。\n dependency-resilience / multi-instance / write-capacity 这些真打 Redis 的\n 门禁全过——2 秒时限没有误伤健康链路。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate\n (npm 审计接口 503 重试两次后成功)。\n\n本提交按 C241 把锚点指向父提交 56e6e57;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:44:00-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/94ec469fbac4eeda3fb9d0f0545be831e8eeb2cb...01d0eabfa71ec061d876d39d4f399d2290530a15","Len":3}...
|
1789782244
|
Edit
Delete
|
|
31223
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"94ec469fb {"Commits":[{"Sha1":"94ec469fbac4eeda3fb9d0f0545be831e8eeb2cb","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 1b228ba;锚点随批次刷新\n\nB3″ 三级证据绑定 clean HEAD `1b228ba`(worktreeDirty:false):\n\n· runtime 30/30 步、**759 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 759 = 747 + 本批 12 例,与 1b228ba 前置写下的预测值一致。\n 信封加了可选 context 之后矩阵仍 204/204——它本来就比不到这个字段\n (outbox 快照只取 type + payload),这也正是本批另建 14 条绊网的理由。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\n**一轮过**。上一批因锚点没跟着提交走白跑 25 分钟,这批把锚点写进了每个提交,没有复发。\n\n本提交按 C241 把锚点指向父提交 1b228ba;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:13:05-07:00"},{"Sha1":"1b228baf0006555572a2e829ae95f67960da7e98","Message":"chore(reports): 静态 28/28 回绑 @ aa62fba;数字前置到本批实测值\n\nown-tests 94 → 96、own-test-cases 750 → 762(+2 文件 / +12 例信封上下文验收,C70 只计\ngit 已跟踪文件,故必须在实现提交落地后才数得到)。\n\ntests-passing 747 → 759 是**预测值**(747 + 本批 12 例),由下一轮 runtime 实测证实;\n不等于 759 就按报告改文档。上一批已验证过这条路子:预测值被实测原样证实。\n理由同上批:改变用例数的批次结构上要两轮 runtime,先写预测能让 runtime 报告直接绑 clean HEAD。\n\n锚点按 C241 指向父提交 aa62fba——上一批就是漏在这里,白跑了一轮 25 分钟。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:00:51-07:00"},{"Sha1":"aa62fba5da4448840228f6699f42085fb2bdeae8","Message":"feat(kernel-repin): B3″ realtime 双向合并——信封请求上下文真正贯通到 outbox\n\n内核 0.6.0 给信封加了 `context {requestId, traceId}`,但**只给了字段,没给它怎么进来**:\n写入端如何落库、读出端如何还原、无入站请求时如何表达「不知道」,三件事都留给下游发明。\n最省事的实现——投递时从当前 ALS 取一份填进去——恰好是最坏的:照着那个 requestId 去查日志\n只会查到 dispatcher 自己,「信封可追溯」就此变成假象。本批按三段落地:\n\n· 写入:outbox 加 request_id / trace_id 两列(两后端字节一致迁移,纯 additive 可空),\n 由 **Prisma 客户端扩展单点注入**。不逐处改两后端各 74 处 tx.outbox.create——那是\n 148 处一次性改动外加一条永久漂移缝:新写链忘了带就静默缺席,而少一个可空字段\n 不会让任何门禁红。扩展在交互式事务内同样生效,P4 的「outbox 与业务写同 tx」不变。\n 装配顺序固定:扩展在最内层、RLS 代理在最外层——反过来 $extends 会作用到代理的\n 目标对象上,代理当场失效。\n· 读出:dispatcher 与重放各自**从行上取**,经 contracts envelopeContextOf 还原;\n requestId 缺席即整体缺席(半份上下文既对不上日志,也不能声称知道来源)。\n· 缺席:无入站请求(worker / dispatcher / 触发器)时两列 NULL,信封里干脆没有 context。\n\n独立列而非塞 payload:payload 是领域事实,掺进基建相关性标识会被双后端行为矩阵当成领域\n差异比较——它的 outbox 快照恰好只取 type + payload。\n\n这是**合并不是 pin**:内核那版没有 resourceRefs,也没有 realtimeChannelForDatabase,\n直接 pin 会丢掉产品扩展参与订阅的唯一途径与「同 Redis 实例多环境不得互相收事件」的结构解\n(13 个消费者)。分歧已登记进迁移手册 §6,上游同步不得用内核版覆盖本文件。\n\n守护(行为矩阵**结构上证明不了这条**:上下文走独立列,矩阵只比 type + payload,\n删掉任一侧的注入或读出,204 例仍全绿):\n· check:dual-backend 增 14 条 targeted 断言(注入点/读出点/迁移/负例本身)+ 1 个受控断线\n 负探针,dualBackendParityNegativeProbes 由 2 收紧到 3;\n· 两侧各 6 例真实 DB 验收,断言集逐条对等:落库两列 / 无请求即 NULL / dispatcher 读出 /\n 重放保留 / 半份整体缺席 / 显式值不被覆盖。\n负向实测:摘掉 Fastify 注入扩展 → 精确 3 例红;摘掉重放读出 → 精确 1 例红;均已恢复现场。\n\ncontracts 升 1.23.0(expand-only),packages/downstream 两把锁重签,下游 fixture 源码未改\n即通过(同 major 兼容成立)。顺带实测到一个门禁盲区并如实登记为 U-42:check:kernel-packages\n的 apiDigest **只哈希入口 .d.ts 字节、不含再导出的模块**,所以本批加 3 个公开导出它不会红——\n「同版本改公开 API 即红」对 barrel 式入口基本不成立,版本是自觉升的。\n\n本批明确不做、逐条登记在立项书 §5.3:内核的 defineRealtimeEventTypes 组合式事件类型、\n两个未接线的内核常量(LIVE_BUFFER_LIMIT / REDIS_COMMAND_TIMEOUT_MS——后者对应一个真实的\nRedis publish 无超时缺口)、产品事件路径(走 raw SQL,扩展覆盖不到,目前没有 context)、\nworker 派生事件继承原始请求。前三项是范围取舍,最后一项的后果是那些行 context 为 NULL——\n缺席是诚实的,不构成假象。\n\n证据:typecheck 13/13;pnpm check 28/28;两侧信封上下文验收各 6/6(真实 DB\ndigital_employee_os_acceptance_20260918 @127.0.0.1:55470 + redis :6404/3)。\nruntime 整轮与报告回绑在下一提交。锚点按 C241 指向父提交 34aab5d。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T17:59:16-07:00"}],"HeadCommit":{"Sha1":"94ec469fbac4eeda3fb9d0f0545be831e8eeb2cb","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 1b228ba;锚点随批次刷新\n\nB3″ 三级证据绑定 clean HEAD `1b228ba`(worktreeDirty:false):\n\n· runtime 30/30 步、**759 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 759 = 747 + 本批 12 例,与 1b228ba 前置写下的预测值一致。\n 信封加了可选 context 之后矩阵仍 204/204——它本来就比不到这个字段\n (outbox 快照只取 type + payload),这也正是本批另建 14 条绊网的理由。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate。\n\n**一轮过**。上一批因锚点没跟着提交走白跑 25 分钟,这批把锚点写进了每个提交,没有复发。\n\n本提交按 C241 把锚点指向父提交 1b228ba;证据新鲜度的 runtime 行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T18:13:05-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/34aab5dea31113ee2688fd236eea3f382402027e...94ec469fbac4eeda3fb9d0f0545be831e8eeb2cb","Len":3}...
|
1789780398
|
Edit
Delete
|
|
31217
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"34aab5dea {"Commits":[{"Sha1":"34aab5dea31113ee2688fd236eea3f382402027e","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 47e6fe3;锚点随批次刷新\n\n三级证据本批首次同时绑定 clean HEAD `47e6fe3`(worktreeDirty:false):\n\n· runtime 30/30 步、**747 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 七包测试、迁移 deploy/status、auth-startup、db-credential-separation、tracing、\n dependency-resilience、capacity、write-capacity、multi-instance 全通过。\n 747 = 735 + 本批 12 例,与 b71b745 前置写下的预测值一致——预测被实测证实,\n 不是反过来改文档迁就。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate(收尾清单硬条目)。\n\nauth-startup 现有**三类拒启各 2/2**:无验签器、显式 demo、**生产缺 APP_ID**。第三类是本日\n新增,`missingAppIdRejected: 2` 是两个后端都真的起不来的机器回执——它抓到的正是本批自己\n第一版的惰性解析缺陷,不是事后补的装饰。\n\n跑了三轮 runtime,如实记账:\n ① 红在 auth-startup —— 真缺陷(惰性 APP_ID),已修(47e6fe3 的父提交);\n ② 实质全绿但红在收尾 docs-truth 的快照锚点滞后 —— 锚点停在 3949dcc 而 HEAD 已走两步,\n 打穿 C232 的 +1 自指窗。修复提交已把锚点折进去指向其父提交;\n ③ 30/30 全绿,即本提交回绑的这一份。\n第 ② 轮暴露的是我自己的流程错:改变用例数的批次天然要两轮,但锚点该在每个提交里跟着走,\n不该等到最后一个提交才想起来——C241 写的就是这条,这次仍然踩了。\n\n本提交按 C241 把锚点指向父提交 47e6fe3;证据新鲜度里 runtime 与 auth-startup 两行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T17:38:01-07:00"},{"Sha1":"47e6fe38803a863e867b9f8a6141540da75736ee","Message":"fix(kernel-repin): APP_ID 改为装配期强制解析——惰性解析让生产「起得来但每个请求 500」\n\n本批 runtime 第一轮就红在 auth-startup,抓到的是我自己引入的缺陷,不是环境问题:\n\n首版 appId() 是**惰性**的(第一次请求才解析)。于是生产缺 APP_ID 时进程**正常启动**,\n随后 /api/health 与每个业务请求各 500 一次——栈顶就是 request-context 插件。内核对\nresolveAppId 写明的语义是「生产缺失即抛错,起不来好过匿名运行」,惰性版把它退化成\n「运行但全错」,而且把一个配置错误伪装成运行时故障。假绿五形态里的「假健康读模型」\n换了个方向:健康检查自己 500,但进程活着、编排层看不出是配置问题。\n\n改法:\n· appId() 解析失败时包一层稳定归因码 `[APP_ID_REQUIRED]`(与 C51 的 AUTH_VERIFIER_REQUIRED、\n C153 的 secret 读取同款——门禁判定归因码,不去匹配内核的中文消息);\n· 新增 assertRequestContextStartup(),在**四个入口**启动期强制解析:\n NestJS create-app.ts / Fastify app.ts(紧挨 assertTenantAuthStartup)\n + 两个 dispatcher 的 main()(contextFromJob 同样以 APP_ID 标识来源应用);\n· check:auth-startup 增加**第三类拒启负例**:生产 + required + 有 verifier、但显式拿掉\n APP_ID → 必须起不来。指标 missingAppIdRejected 入棘轮(floor 2);\n· 八个启动生产入口的 runner 显式提供 APP_ID——它们本来就该像真实编排那样配齐环境,\n 这不是放宽判据:判据是「缺了要拒启」,由上面那条负例证明,不是靠别的 runner 顺带不配。\n\n绊网加厚:check:dual-backend 的 RequestContext 断言由 7 条扩到 14 条,覆盖四个入口的启动闸、\n两份持有模块的归因码,以及那条负例本身——防惰性解析回潮(它在 typecheck 和行为矩阵下都是绿的)。\n\n第一轮 runtime 的其余结果(报告已随失败轮作废,此处只作判断依据,不作证据引用):\n21 个步骤 status=0,**testsPassed=747——与上一提交前置的预测值一致**,两个 request-context\n验收文件各 6 例都在里面;唯一红的是 auth-startup。行为矩阵未执行(在 auth-startup 之后)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T17:14:16-07:00"},{"Sha1":"b71b745a36f3b4786d177604aa7034bf5a43ba39","Message":"chore(reports): 静态 28/28 回绑 @ 3949dcc;数字前置到本批实测值\n\n静态 28 份报告在实现提交上重新生成并回绑(`check:kernel-admission` 42 模块 / 751 导出、\n`check:kernel-boundaries` 147/147 受管面 / 245/245 锁定文件、`check:dual-backend` 负探针 2/2)。\n\nCLAUDE.md 动态数字随本批改动前移:\n own-tests 92 → 94 (+2 个 request-context 验收文件,C70 只计 git 已跟踪,\n 故必须在实现提交落地后才数得到)\n own-test-cases 738 → 750 (+12 例,与 governance.latest.json 实测一致)\n tests-passing 735 → 747 (**这一个是预测值**:735 + 本批 12 例,尚未被 runtime 实测)\n\n「tests-passing 写在实测之前」是本仓已知的结构性自指,不是抄数:任何改变用例数的批次\n都会在自己第一次 runtime 的收尾 docs-truth 上红——C231/C244 把该复验放在 canonical 报告\n写下之后,而正确数字只有跑完才知道。两条出路都要跑两轮 runtime(先跑得数再改文档,或\n先写预测再跑),这里选后者,好处是 runtime 报告能直接绑定 clean HEAD。\n**若下一轮实测不等于 747,以报告为准修正本行,不反过来迁就文档。**\n\n快照锚点按 C241 指向实现提交 3949dcc。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:59:31-07:00"},{"Sha1":"3949dcccd743f991487c1438db85ddb11277cc4c","Message":"feat(kernel-repin): RequestContext 从 HTTP 层贯通——两后端回显 x-request-id / x-trace-id\n\nB2c-2 与 B3″ 的共同前置(立项 §5.2)。形状与解析全部取自 contracts `request-context.ts`\n(转发自 `@juhai/kernel` 0.22.0),本仓只写 AsyncLocalStorage、APP_ID 解析与两个框架各自的\n入口适配——不复制第二份判定。\n\n修的是一个真缺陷,不只是搬代码:本仓此前**不回显任何相关性标识**,调用方拿到 500 之后\n没有任何能交给运维去查日志的句柄。现在固定回显 x-request-id;有合法 traceparent 时另回\nx-trace-id。入站 requestId 合法即沿用(跨服务相关性的唯一意义),非法即丢弃重生成——不把\n外部字符串反射进响应头与日志。\n\n装配(两侧必须最先,鉴权在其后才能 enrich,响应头回显要覆盖其后所有分支):\n NestJS create-app.ts 第一个 app.use(先于 trace 中间件)\n Fastify app.ts 第一个 register(先于 setErrorHandler 与既有 hook)\n\n与既有 rls-context 并存、刻意不合并:那一份持有 RLS 执行身份(tenant/system 两态),\n这一份持有请求可追溯性。失败语义不同,合成一个 store 会让「租户缺失」与「上下文缺失」\n不可区分。\n\n⚠️ 部署侧同批改动:resolveAppId 在生产缺 APP_ID 时抛错拒绝启动,\ndeploy/production/compose.yml 的 x-api-environment 与 x-dispatcher-environment 两个锚点\n都已写入 APP_ID。漏掉任一个,对应进程起不来——不能等下一批补。\n\n为什么额外建绊网:行为矩阵**结构上证明不了这条**。x-request-id 是实例噪声,被显式排除在\n22 个稳定响应头白名单之外(两端值必然不同),所以删掉任一侧的装配点,矩阵 204 例仍全绿。\n补两层:\n · check:dual-backend 新增 7 条 targeted 断言(含装配顺序、两个 compose 锚点各一)\n + 一个受控断线负探针;dualBackendParityNegativeProbes 由 1 收紧到 2;\n · 两侧各 6 例真实 HTTP 验收 request-context.acceptance.test.ts,断言集逐条对等:\n 无头生成 / 合法沿用 / 非法重生成 / traceparent 取 trace-id / 畸形不猜 / 404 也回显。\n\n负向实测(已恢复现场):注释掉 Fastify 的 register → 该侧 6/6 精确红;注释掉 NestJS 的\napp.use → 该侧 6/6 精确红。\n\n本批没做、也不声称:outboxContext() 与 decisionContext() 目前**零调用方**——把 context\n写进 outbox 行是 B3″,接进权限判定是 B2c-2(仍卡 ADR 0011 裁决)。本批只交付「上下文在\n请求入口真实存在、可被下游取用、且对外可见」。\n\n边界归属:新增 3 个源码文件按 CORE 归属,kernel.boundaries.lock 重签,受管面 146→147、\n锁定文件 242→245,CLAUDE.md 同步。baseline 只收紧本批真正改变的那个字段\n(dualBackendParityNegativeProbes 1→2)——其余若干地板确实落后于现值(ownTests 83 vs 92、\nrlsProtectedTables 65 vs 67 等),那是另一件事,不在本批顺手扫掉。\n\n证据:typecheck 13/13;pnpm check 28/28;两侧 request-context 验收各 6/6(真实 DB\ndigital_employee_os_acceptance_20260918 @127.0.0.1:55470 + redis :6404/3)。\nruntime 整轮与报告回绑在下一提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:56:13-07:00"}],"HeadCommit":{"Sha1":"34aab5dea31113ee2688fd236eea3f382402027e","Message":"chore(reports): runtime 30/30 + 静态 28/28 回绑 @ 47e6fe3;锚点随批次刷新\n\n三级证据本批首次同时绑定 clean HEAD `47e6fe3`(worktreeDirty:false):\n\n· runtime 30/30 步、**747 tests / 0 failures**、行为矩阵 **204/204**(地板 204);\n 七包测试、迁移 deploy/status、auth-startup、db-credential-separation、tracing、\n dependency-resilience、capacity、write-capacity、multi-instance 全通过。\n 747 = 735 + 本批 12 例,与 b71b745 前置写下的预测值一致——预测被实测证实,\n 不是反过来改文档迁就。\n· 静态 28/28。\n· 依赖 pnpm audit --prod --audit-level high = 0 high / 3 moderate(收尾清单硬条目)。\n\nauth-startup 现有**三类拒启各 2/2**:无验签器、显式 demo、**生产缺 APP_ID**。第三类是本日\n新增,`missingAppIdRejected: 2` 是两个后端都真的起不来的机器回执——它抓到的正是本批自己\n第一版的惰性解析缺陷,不是事后补的装饰。\n\n跑了三轮 runtime,如实记账:\n ① 红在 auth-startup —— 真缺陷(惰性 APP_ID),已修(47e6fe3 的父提交);\n ② 实质全绿但红在收尾 docs-truth 的快照锚点滞后 —— 锚点停在 3949dcc 而 HEAD 已走两步,\n 打穿 C232 的 +1 自指窗。修复提交已把锚点折进去指向其父提交;\n ③ 30/30 全绿,即本提交回绑的这一份。\n第 ② 轮暴露的是我自己的流程错:改变用例数的批次天然要两轮,但锚点该在每个提交里跟着走,\n不该等到最后一个提交才想起来——C241 写的就是这条,这次仍然踩了。\n\n本提交按 C241 把锚点指向父提交 47e6fe3;证据新鲜度里 runtime 与 auth-startup 两行同步回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T17:38:01-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/2ef8d2fea20dcc03a7397ed3fc71312b675a70d9...34aab5dea31113ee2688fd236eea3f382402027e","Len":4}...
|
1789778300
|
Edit
Delete
|
|
31192
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2ef8d2fea {"Commits":[{"Sha1":"2ef8d2fea20dcc03a7397ed3fc71312b675a70d9","Message":"chore(reports): realtime 依赖登记的二十八份静态证据 回绑 @ 5f38077,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 5f38077(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=5f38077、worktreeDirty:false)。\n静态整轮 28/28(退出码 0)。\n\n未跑运行态:本批只动立项文档,未改任何运行代码,runtime 证据仍绑 fc147d3\n(735 / 204-204 / 零违规)且未失效。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:35:01-07:00"},{"Sha1":"5f38077645e9e39fc5b2b1a44387d3aeb72b1b5f","Message":"docs(planning): 登记 realtime 双向分歧与 RequestContext 贯通这个共同前置\n\n接 realtime 时发现它不该现在做,原因值得单独记:\n\n**realtime 是双向分歧,不是本仓落后。** makeEnvelope 两边各自演进过——\n 本仓:resourceRefs 支持(resourceRefsFromData + 去重),与 subscription 同一条扩展协议\n 框架:options.context → envelope.context { requestId, traceId }(0.6.0 上下文贯通)\n另有 realtimeChannelForDatabase(按 Redis 逻辑库分区频道,13 个消费者,正是此前 runtime\n长期假红的根因所在)是本仓独有。整份转发会丢掉本仓那半,故按迁移手册 §6 走分歧账本。\n\n**更要紧的是它暴露了一个共同前置。** 框架那一半依赖 RequestContext 从 HTTP 层贯通,\n而这正是 B2c-1 明确推迟的 ALS 工作。两个挂起批次因此指向同一件没做的事:\n\n B2c-2 平台端口接线 —— decide() 入参是 RequestContext。服务层拿不到 HTTP 头,\n 只能合成 requestId:对权限判定无妨(端口只用 tenantId + actorId + action),\n 但**审计关联失效**。这就是 B2c-2 只接权限端口、不接审计端口的原因。\n B3″ realtime —— envelope.context 取自 propagatedContextOf(RequestContext)。\n 没有真实上下文,这个字段要么缺席、要么填合成值——**后者比缺席更糟**,\n 它让「信封可追溯」成为假象。\n\n本仓**已有 AsyncLocalStorage**(两后端各一份 rls-context.ts 用于 RLS 租户绑定),\n不是从零起;缺的是把 buildRequestContext 的产物在请求入口塞进 ALS 并让下游取用。\n框架 0.4.0 / 0.6.0 的两后端接线可直接对照。\n\n登记它而不是顺手做:贯通请求上下文会改变两后端的请求入口与队列载荷(0.6.0 的\noutboxContext 把 context 带进 outbox 行),属跨切面改动,应当独立批次并配完整 runtime\n验证,不该作为别的批次的副产品。\n\n本批只动文档,静态 28/28,未改运行代码。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:33:37-07:00"}],"HeadCommit":{"Sha1":"2ef8d2fea20dcc03a7397ed3fc71312b675a70d9","Message":"chore(reports): realtime 依赖登记的二十八份静态证据 回绑 @ 5f38077,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 5f38077(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=5f38077、worktreeDirty:false)。\n静态整轮 28/28(退出码 0)。\n\n未跑运行态:本批只动立项文档,未改任何运行代码,runtime 证据仍绑 fc147d3\n(735 / 204-204 / 零违规)且未失效。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:35:01-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/001e16da960e9c44fcb2f943d149bb374c710e33...2ef8d2fea20dcc03a7397ed3fc71312b675a70d9","Len":2}...
|
1789774505
|
Edit
Delete
|
|
31191
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"001e16da9 {"Commits":[{"Sha1":"001e16da960e9c44fcb2f943d149bb374c710e33","Message":"chore(reports): health 采纳的四十一份三级证据 回绑 @ fc147d3,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 fc147d3(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n四十一份 reports/*.latest.json 全部 clean 绑定(gitSha=fc147d3、worktreeDirty:false):\n静态 28 + 运行态 13。静态整轮 28/28(退出码 0);运行态 735 tests / 行为矩阵 204/204 /\n87 项指标零违规。\n\nhealth 换成内核 buildHealthResponse 后**行为中性**:四处调用点、两个 dispatcher 的\n200/503 映射、NestJS 的 ServiceUnavailableException、依赖弹性用例(14 故障 + 14 恢复 +\n半开 4 + 延迟 4)全过。开工时列的三个风险点(响应形状、503 映射、超时语义)一个都未兑现。\n\n用例数 733 → 735(health 3 例改写为 5 例,覆盖面上升);地板 683 未动——地板只在全绿后用\n--update-baseline 收紧,不随一次上浮改。\n\n本批跑了两轮 runtime,第一轮红在末尾的 docs-truth 复核(动态数字仍写 733)。\n**这是结构性自指,不是缺陷**:任何改变用例数的批次,第一轮 runtime 必然在自己最后一步的\n数字校验上失败——数字只有跑完才知道,而跑的最后一步要校验数字。已把「改动影响用例数时\n预期两轮 runtime」记进 fc147d3 的提交信息,与「先提交再跑」是同一类流程教训\n(后者本批已用上,第一轮即 clean 绑定)。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:31:29-07:00"},{"Sha1":"fc147d377061ea86c37cdd24e1afb0c441a6e2fe","Message":"docs(治理): 动态数字随 health 用例增补对齐——733 → 735 tests\n\nhealth 由 3 例改写为 5 例后 runtime 用例数 733 → 735,CLAUDE.md 动态区两处随之更新:\n证据新鲜度行的「(733 tests / 0 failures)」与动态表的 tests-passing 行。地板 683 不动\n(地板只在全绿后用 --update-baseline 收紧,不随一次上浮改)。\n\n**这一轮红是结构性自指,不是缺陷:** 任何改变用例数的批次,第一轮 runtime 必然在自己\n最后一步的 docs-truth 复核上失败——数字只有跑完才知道,而跑的最后一步要校验数字。\n本轮测试本身全过(735 tests / 0 failures、行为矩阵 204/204、87 项指标零违规),\n红的只有 governance-number-evidence-consistency 的两处漂移字段。修正后重跑即闭合。\n\n顺带记一条可复用的顺序:**改动会影响用例数时,预期两轮 runtime**——第一轮取真实数字,\n更新文档后第二轮取 clean 绑定的 passed 证据。与「先提交再跑」是同一类流程教训。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:19:20-07:00"},{"Sha1":"bfc3ef5a82a201c649688dd76b3ed22704560888","Message":"feat(health): B3 余采纳内核可扩展健康检查;同批订正 B4 的分类误判\n\n两件事,都是「实测推翻先前判断」的后续。\n\n一、B4 调查结论写回立项(不改代码)\n\n先前把 `rls` 归为「同名不相干、二选一」——0% 导出重合被读成互斥,实际是**解决不同问题**:\n框架 tenant-rls 管**姿态与探测**(resolveTenantRlsMode 生产拒绝 off、assertRlsCapableRole\n启动拒绝 superuser/BYPASSRLS、tenantRlsRoleNames 派生角色名),本仓 rls 管**清单与纪律**\n(67 张表/模型登记、角色名常量、SET LOCAL ROLE 的租户 id 校验)。两者互补。\n\n调查顺带查出一个真缺口并登记进 §6:**应用不在启动时探测连接角色**。现有保护全在门禁时——\ncheck:db-credential-separation 供给角色、查 pg_roles、断言不特权(8 负例含 runtime-superuser\n探针),验的是「供给对不对」而非「应用会不会拒绝启动」。若部署时 DB URL 指向超级用户,应用\n照常启动,所有不走 tenantTx 的查询都没有 RLS。补它的前提是先采纳双 URL 模型——\nDATABASE_RUNTIME_URL 在本仓只被 scripts/with-platform-dev.mjs 用到,**两个应用根本不读它**。\n故 B4 重定义为「采纳双 URL RLS 模型 + 启动探测」,属部署面变更,独立批次。\n**没有顺手先迁 tenant-rls 契约**——那会再造一块零消费面,同一个错误不在一次会话里犯第二遍。\n\n二、health 采纳内核可扩展形态(框架 0.19.0,受理基础设施仓 FR-1)\n\n本仓原实现是固定两键 checks + evaluateHealthDependencies,属 0.19.0 之前的形态。框架把\nchecks 改为 { database; redis } \u0026 Record\u003cstring, HealthCheckState\u003e——**纯增键,既有消费者逐字\n不受影响**——并给出附加子检查登记点与名字 fail-closed(占用核心名 / 重复登记在登记这一刻抛错)。\n\n为什么现在采纳:本仓已知有拿不出来的健康维度(缺失梳理 §3 记着「消费组滞后无指标」)。\n固定两键下这类维度无处安放;换成可扩展形状后,Kafka 消费者滞后、平台端口状态才有登记位。\n\n替换而非合并:框架 buildHealthResponse + probeHealthCheck 覆盖本仓 evaluateHealthDependencies\n的全部语义,并把 service / uptime / timestamp 一并产出——四处适配器此前各自手拼这三个字段,\n正是 G17 行为漂移的老来源(两侧曾一个回浮点进程 uptime、一个回整数应用 uptime)。\n输出逐字兼容:无 extras 时 every(up) 等价于原先 database \u0026\u0026 redis,timestamp 同为 toISOString()。\n\n四处调用点全改:两个 dispatcher + Fastify 路由 + NestJS 控制器。\n\n**测试覆盖上升而非下降**:health.test.ts 由 3 例改写为 5 例——原三条语义(ok / 逐项判责 /\n超时 fail-closed)逐条在新 API 上重验,另加两条覆盖新能力(附加子检查参与 degraded 判定、\n名字 fail-closed)。contracts 312 → 314,own-test-cases 736 → 738。\n\n三处门禁断言随符号改名同步(C45 双后端 health、C58 两个 dispatcher、O11 运维平面)。\n**断言意图未变**,改的只是符号名。三条都做了实活验证:把符号换成不含原串的名字后 C45/C58/O11\n如期转红,还原复验绿。(第一次探针用 buildHealthResponseX,正则仍匹配前缀而未触发——\n探针本身的设计错误,已重做。)\n\n@repo/contracts 1.21.0 → 1.22.0;三把锁重签(exports 42 模块 / 751 导出);接入手册锁行同步;\nCLAUDE.md 动态表 own-test-cases 随报告更新。静态整轮 28/28。\n运行态在本提交后重跑回绑——health 端点实现已换,必须验。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:08:02-07:00"}],"HeadCommit":{"Sha1":"001e16da960e9c44fcb2f943d149bb374c710e33","Message":"chore(reports): health 采纳的四十一份三级证据 回绑 @ fc147d3,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 fc147d3(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n四十一份 reports/*.latest.json 全部 clean 绑定(gitSha=fc147d3、worktreeDirty:false):\n静态 28 + 运行态 13。静态整轮 28/28(退出码 0);运行态 735 tests / 行为矩阵 204/204 /\n87 项指标零违规。\n\nhealth 换成内核 buildHealthResponse 后**行为中性**:四处调用点、两个 dispatcher 的\n200/503 映射、NestJS 的 ServiceUnavailableException、依赖弹性用例(14 故障 + 14 恢复 +\n半开 4 + 延迟 4)全过。开工时列的三个风险点(响应形状、503 映射、超时语义)一个都未兑现。\n\n用例数 733 → 735(health 3 例改写为 5 例,覆盖面上升);地板 683 未动——地板只在全绿后用\n--update-baseline 收紧,不随一次上浮改。\n\n本批跑了两轮 runtime,第一轮红在末尾的 docs-truth 复核(动态数字仍写 733)。\n**这是结构性自指,不是缺陷**:任何改变用例数的批次,第一轮 runtime 必然在自己最后一步的\n数字校验上失败——数字只有跑完才知道,而跑的最后一步要校验数字。已把「改动影响用例数时\n预期两轮 runtime」记进 fc147d3 的提交信息,与「先提交再跑」是同一类流程教训\n(后者本批已用上,第一轮即 clean 绑定)。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T16:31:29-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/85a263fb1667d12318daa5601f7e6e23284c5dfd...001e16da960e9c44fcb2f943d149bb374c710e33","Len":3}...
|
1789774292
|
Edit
Delete
|
|
31161
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"85a263fb1 {"Commits":[{"Sha1":"85a263fb1667d12318daa5601f7e6e23284c5dfd","Message":"chore(reports): F14 落地的二十八份静态证据 回绑 @ 402f502,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 402f502(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=402f502、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\nfork-readiness 报告的 frameworkCriteriaRegisteredMissing 由 3 降为 2(F14 转 implemented),\ndeclared 仍 14、交叉核对 verified。\n\n未跑运行态:本批只改 compose 顶层 name / 宿主端口参数化与门禁脚本,未动任何应用运行代码,\nruntime 证据仍绑 df72512(733 / 204-204 / 零违规)且未失效。compose 的实际效果要到下次\ndocker compose up 才体现——改名时两个 project 下均无容器与卷,不存在需要迁移的运行态。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T15:55:42-07:00"},{"Sha1":"402f502bec6d503e2e6c8b1319b0862eb2b9ed03","Message":"feat(governance): 落地框架 F14——compose 身份派生自包名,本仓退出 L9 的 project 共用\n\n框架判据 F14 由 missing 转 implemented。这是三条 missing 里唯一不阻塞于「内核退回 pin」\n立项本身的,故先做。\n\n**问题(工作区 L9 的本仓实证):** compose 在没有顶层 name / -p / COMPOSE_PROJECT_NAME 时\n按**文件所在目录名**推导 project。开发基座在每个派生仓里都住在 apps/api-nestjs/,于是所有仓\n推导出同一个 project `api-nestjs`,共用具名卷与容器名——后 up 者接管先起者。一致性门禁实测\n本机 8 个仓共用该 project,本仓是其中之一。这与 F3(测试库名前缀)、F12(RLS 组角色名)同族:\n**集群级资源的身份必须派生自 package.json name**。\n\n两处实体修复:\n apps/api-nestjs/docker-compose.yml 补 name: ${COMPOSE_PROJECT_NAME:-digital-employee-os}\n redis 宿主端口 \"6379:6379\" → \"${REDIS_PORT:-6379}:6379\"\n (postgres 那条原本就已参数化)\n deploy/production/compose.yml 默认值 deos-production → digital-employee-os-production\n (原值既非包名派生身份、也非其 digital-employee-os-* 子命名)\n\n**改名零中断**:动手前实测两个 project 下均无容器与卷(docker ps -a / volume ls 按\ncom.docker.compose.project 标签查,皆空)。我先前提过「要挑运维窗口」——实测之后这个顾虑\n不成立,如实更正。\n\n门禁实现与框架有一处口径差异,已登记在门禁注释与 framework-criteria.json:\n**本仓限定扫 git 跟踪的 compose**,框架按目录黑名单遍历全仓。理由是本仓有 gitignored 的\ntmp/ops-config/compose.local.yml(本机运维配置,随时重建),扫未跟踪的本地状态会让门禁在\n别人 clone 后得出不同结论——**不可复现的判据比没有判据更糟**。\n\n三条负向探针实活验证,非只读代码推断:去掉顶层 name、端口写死、身份写成别的仓(api-nestjs),\n各自如期转红,还原后复验绿。\n\n效果:工作区一致性门禁 L9 的共用仓数 **8 → 7,本仓出列**(其余 7 仓是各自 Owner 的事)。\n框架判据覆盖:implemented 10(+F14)、missing 2(F8 / F11,均阻塞于内核退回 pin 立项)、\nimplemented-elsewhere 1、not-applicable 1。\n\n静态整轮 28/28。本批未改运行代码,runtime 仍绑 df72512。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T15:53:53-07:00"}],"HeadCommit":{"Sha1":"85a263fb1667d12318daa5601f7e6e23284c5dfd","Message":"chore(reports): F14 落地的二十八份静态证据 回绑 @ 402f502,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 402f502(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=402f502、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\nfork-readiness 报告的 frameworkCriteriaRegisteredMissing 由 3 降为 2(F14 转 implemented),\ndeclared 仍 14、交叉核对 verified。\n\n未跑运行态:本批只改 compose 顶层 name / 宿主端口参数化与门禁脚本,未动任何应用运行代码,\nruntime 证据仍绑 df72512(733 / 204-204 / 零违规)且未失效。compose 的实际效果要到下次\ndocker compose up 才体现——改名时两个 project 下均无容器与卷,不存在需要迁移的运行态。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T15:55:42-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/f3d2cfe8c6567a9f343080ec659543e412c4e688...85a263fb1667d12318daa5601f7e6e23284c5dfd","Len":2}...
|
1789772145
|
Edit
Delete
|