|
31270
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"44f8a6c0a {"Commits":[{"Sha1":"44f8a6c0a8cd1c035de339ba21db2897b04d0d95","Message":"docs(workbench): record controlled-ops dev deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:20:57-07:00"},{"Sha1":"a3e660c1acddecf014a891693697a953d9e53919","Message":"chore(workbench): rebind management snapshots\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:18:23-07:00"},{"Sha1":"9e0ddaa2063329f43d08f1b8738fc518c2aede7c","Message":"chore(evidence): classify MCP pilot snapshot\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:18:14-07:00"},{"Sha1":"a03ad984b7d613b80fdc7ef5c8af032c0c3624a0","Message":"feat(workbench): guide authorized capability operations\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:14:38-07:00"}],"HeadCommit":{"Sha1":"44f8a6c0a8cd1c035de339ba21db2897b04d0d95","Message":"docs(workbench): record controlled-ops dev deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:20:57-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/d4a56be01eb60847220b47ceab6e9d67877f57e9...44f8a6c0a8cd1c035de339ba21db2897b04d0d95","Len":4}...
|
1789860093
|
Edit
Delete
|
|
31269
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d4a56be01 {"Commits":[{"Sha1":"d4a56be01eb60847220b47ceab6e9d67877f57e9","Message":"Merge remote-tracking branch 'origin/main' into codex/mcp-pilot\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:08:56-07:00"},{"Sha1":"f8ff6cd95d0d1ab5551ccbedad2c53c55bca8d10","Message":"docs(mcp): 记录固定版本真实客户端验收与工具治理边界\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:08:14-07:00"},{"Sha1":"2174dd61783fabf43b2a6f8f4ccd36d83f62ea6e","Message":"feat(mcp): 接入只读工具并逐次核验身份撤权与来源\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:02:00-07:00"}],"HeadCommit":{"Sha1":"d4a56be01eb60847220b47ceab6e9d67877f57e9","Message":"Merge remote-tracking branch 'origin/main' into codex/mcp-pilot\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T16:08:56-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/f5853b26f29c616308480cba60d45b0026352875...d4a56be01eb60847220b47ceab6e9d67877f57e9","Len":3}...
|
1789859339
|
Edit
Delete
|
|
31268
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f5853b26f {"Commits":[{"Sha1":"f5853b26f29c616308480cba60d45b0026352875","Message":"docs: record all-module dev loading and verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:55:32-07:00"},{"Sha1":"84def697d823f39881bf1f5effa76ef32dd532dd","Message":"chore(reports): record 16-profile runtime image smoke\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:53:58-07:00"}],"HeadCommit":{"Sha1":"f5853b26f29c616308480cba60d45b0026352875","Message":"docs: record all-module dev loading and verification\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:55:32-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/c92a831292abb4dac8ef5d39993630eb920c6cc9...f5853b26f29c616308480cba60d45b0026352875","Len":2}...
|
1789858540
|
Edit
Delete
|
|
31267
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"c92a83129 {"Commits":[{"Sha1":"c92a831292abb4dac8ef5d39993630eb920c6cc9","Message":"fix(runtime): package generated Prisma clients for hosted modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:48:22-07:00"}],"HeadCommit":{"Sha1":"c92a831292abb4dac8ef5d39993630eb920c6cc9","Message":"fix(runtime): package generated Prisma clients for hosted modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:48:22-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/5344a74ea5b7c31eaf1729a1ae218fbdf635172b...c92a831292abb4dac8ef5d39993630eb920c6cc9","Len":1}...
|
1789858153
|
Edit
Delete
|
|
31266
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"5344a74ea {"Commits":[{"Sha1":"5344a74ea5b7c31eaf1729a1ae218fbdf635172b","Message":"feat(runtime): wire database environments for all module profiles\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:43:35-07:00"}],"HeadCommit":{"Sha1":"5344a74ea5b7c31eaf1729a1ae218fbdf635172b","Message":"feat(runtime): wire database environments for all module profiles\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T15:43:35-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/0027742e94d18790b9d56227ffeaf1b2dc1e8d05...5344a74ea5b7c31eaf1729a1ae218fbdf635172b","Len":1}...
|
1789857869
|
Edit
Delete
|
|
31265
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"0027742e9 {"Commits":[{"Sha1":"0027742e94d18790b9d56227ffeaf1b2dc1e8d05","Message":"docs: record adversarial acceptance of all runtime modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T10:40:54-07:00"}],"HeadCommit":{"Sha1":"0027742e94d18790b9d56227ffeaf1b2dc1e8d05","Message":"docs: record adversarial acceptance of all runtime modules\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T10:40:54-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/372c80430ac30ac81d6d2bb6735d5c53eaca09df...0027742e94d18790b9d56227ffeaf1b2dc1e8d05","Len":1}...
|
1789839666
|
Edit
Delete
|
|
31264
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"372c80430 {"Commits":[{"Sha1":"372c80430ac30ac81d6d2bb6735d5c53eaca09df","Message":"chore(reports): rebind gates after module intake deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:31:41-07:00"},{"Sha1":"f0ee06723d25b45fd4aba58c02b953c859ddd6a9","Message":"chore(reports): bind deployed runtime to module intake image\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:30:52-07:00"},{"Sha1":"4aa51b1dda383df0c35acb1432d69a8c633d4bff","Message":"docs(deploy): record module intake dev runtime update\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:30:34-07:00"},{"Sha1":"57d2e1a0e96eee62ff42ed12a32db8e50d4d8c4d","Message":"chore(image): record isolated module intake smoke\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:28:26-07:00"},{"Sha1":"6573febd08e735260d2f3d95df4541277671c92f","Message":"chore(image): record fixed-source module intake build\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:28:02-07:00"}],"HeadCommit":{"Sha1":"372c80430ac30ac81d6d2bb6735d5c53eaca09df","Message":"chore(reports): rebind gates after module intake deployment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:31:41-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/51712a5e0007b2d33d2ecd681dd5aece0223254c...372c80430ac30ac81d6d2bb6735d5c53eaca09df","Len":5}...
|
1789831928
|
Edit
Delete
|
|
31263
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"51712a5e0 {"Commits":[{"Sha1":"51712a5e0007b2d33d2ecd681dd5aece0223254c","Message":"chore(reports): bind module intake gates to 0d1a394\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:25:01-07:00"},{"Sha1":"0d1a3946823a1e7771b6f359d98eb4273aba4100","Message":"feat(modules): admit remaining platform domains as fail-closed shapes\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:01:24-07:00"}],"HeadCommit":{"Sha1":"51712a5e0007b2d33d2ecd681dd5aece0223254c","Message":"chore(reports): bind module intake gates to 0d1a394\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T08:25:01-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/baaaf4a4dd10af62639fadd54abb8a8fe5c05aec...51712a5e0007b2d33d2ecd681dd5aece0223254c","Len":2}...
|
1789831541
|
Edit
Delete
|
|
31262
|
16
|
24
|
16
|
86
|
0
|
0
|
refs/tags/v0.2.0
|
0
|
Juhai OpsDesk v0.2.0 · 快速连接、设备分组与日志体验升级
|
1789830872
|
Edit
Delete
|
|
31261
|
16
|
9
|
16
|
86
|
0
|
0
|
refs/tags/v0.2.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"1eecf5d0083e203962f44259da0fc663ac35aafd","Message":"fix(devices): 修复手动屏幕方向跨目录优先级\n\n优先在全部约定目录中查找非空的是否竖屏_手动,缺失时再回退普通方向,避免外部平台默认值遮蔽私有目录的手动配置。\n\n实现内容:\n- 修复设备概览、截图和实时预览共用的方向解析\n- 补充跨目录覆盖、手动零值、空值回退和扫描脚本回归测试\n- 同步配置注释与设备知识库说明\n\n验证:\n- 6 个相关测试文件共 128 项测试通过\n- npm run typecheck\n- npm run check:knowledge\n- git diff --cached --check\n- 实机画面人工验收结果尚未记录\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-09-18T23:15:25+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/0000000000000000000000000000000000000000...1eecf5d0083e203962f44259da0fc663ac35aafd","Len":0}...
|
1789830872
|
Edit
Delete
|
|
31260
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1d0dd2c04 {"Commits":[{"Sha1":"1d0dd2c042d6a06ccd5c53cfcc5115850fefe859","Message":"docs(governance): record verified dev runtime update\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:53:47-07:00"}],"HeadCommit":{"Sha1":"1d0dd2c042d6a06ccd5c53cfcc5115850fefe859","Message":"docs(governance): record verified dev runtime update\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:53:47-07:00"},"CompareURL":"luoanwu/platform-governance/compare/e4287f952d278ffe74c3ad682b9d11bc7028908c...1d0dd2c042d6a06ccd5c53cfcc5115850fefe859","Len":1}...
|
1789829649
|
Edit
Delete
|
|
31259
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"baaaf4a4d {"Commits":[{"Sha1":"baaaf4a4dd10af62639fadd54abb8a8fe5c05aec","Message":"docs(deploy): record fixed-source dev runtime update\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:53:36-07:00"}],"HeadCommit":{"Sha1":"baaaf4a4dd10af62639fadd54abb8a8fe5c05aec","Message":"docs(deploy): record fixed-source dev runtime update\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:53:36-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/7b4f6df8b3e347df680d4649515fa3f4c4e09301...baaaf4a4dd10af62639fadd54abb8a8fe5c05aec","Len":1}...
|
1789829634
|
Edit
Delete
|
|
31258
|
4
|
5
|
4
|
37
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"e45bf0e31 {"Commits":[{"Sha1":"e45bf0e31b4551abcb067867060293a2338945cf","Message":"docs: raise llama cache-ram to 90 GiB\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-19T22:49:29+08:00"}],"HeadCommit":{"Sha1":"e45bf0e31b4551abcb067867060293a2338945cf","Message":"docs: raise llama cache-ram to 90 GiB\n","AuthorEmail":"584481098@qq.com","AuthorName":"laiqiaojie","CommitterEmail":"584481098@qq.com","CommitterName":"laiqiaojie","Timestamp":"2026-09-19T22:49:29+08:00"},"CompareURL":"laiqiaojie/yuancheng-lianjie/compare/32321989ae84e6ea9fb39d6c4a60f19d0b176b2a...e45bf0e31b4551abcb067867060293a2338945cf","Len":1}...
|
1789829372
|
Edit
Delete
|
|
31257
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7b4f6df8b {"Commits":[{"Sha1":"7b4f6df8b3e347df680d4649515fa3f4c4e09301","Message":"docs(public-file): reflect approved DEC-040 in store comment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:48:22-07:00"}],"HeadCommit":{"Sha1":"7b4f6df8b3e347df680d4649515fa3f4c4e09301","Message":"docs(public-file): reflect approved DEC-040 in store comment\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:48:22-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/9dc4f3236199294415bd7cb15547687667940246...7b4f6df8b3e347df680d4649515fa3f4c4e09301","Len":1}...
|
1789829315
|
Edit
Delete
|
|
31256
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"e4287f952 {"Commits":[{"Sha1":"e4287f952d278ffe74c3ad682b9d11bc7028908c","Message":"docs(governance): reconcile DEC-040/041 status and CHG-021 progress\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:48:19-07:00"}],"HeadCommit":{"Sha1":"e4287f952d278ffe74c3ad682b9d11bc7028908c","Message":"docs(governance): reconcile DEC-040/041 status and CHG-021 progress\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-19T07:48:19-07:00"},"CompareURL":"luoanwu/platform-governance/compare/204cd56aef423637994576cd323a2e466c19380a...e4287f952d278ffe74c3ad682b9d11bc7028908c","Len":1}...
|
1789829310
|
Edit
Delete
|
|
31255
|
16
|
5
|
16
|
86
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1eecf5d00 {"Commits":[{"Sha1":"1eecf5d0083e203962f44259da0fc663ac35aafd","Message":"fix(devices): 修复手动屏幕方向跨目录优先级\n\n优先在全部约定目录中查找非空的是否竖屏_手动,缺失时再回退普通方向,避免外部平台默认值遮蔽私有目录的手动配置。\n\n实现内容:\n- 修复设备概览、截图和实时预览共用的方向解析\n- 补充跨目录覆盖、手动零值、空值回退和扫描脚本回归测试\n- 同步配置注释与设备知识库说明\n\n验证:\n- 6 个相关测试文件共 128 项测试通过\n- npm run typecheck\n- npm run check:knowledge\n- git diff --cached --check\n- 实机画面人工验收结果尚未记录\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-09-18T23:15:25+08:00"},{"Sha1":"18cf5164777a2de8b80a3748719274deb164d62b","Message":"feat(renderer): 优先展示快速连接并恢复上次主页功能\n\n实现内容:\n- 将快速连接排在导航首位,个人设备入口紧随其后\n- 在本机保存最后使用的主页功能,启动时恢复该入口\n- 首次使用、过期入口或存储不可用时回退到快速连接,不恢复设备会话\n\n验证:\n- npm run typecheck 通过\n- 主页偏好与终端页面状态相关 11 项测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-09-19T22:38:22+08:00"},{"Sha1":"915907b7d1f55dc14ca910b96aab8340d107e41e","Message":"feat(renderer): 优化快速连接布局与连接状态反馈\n\n将快速入口和最近连接整理为可扫描的操作面板,并在同一目标连接期间防止重复操作。\n\n实现内容:\n- 重排连接输入、认证选项、最近记录和保存设备对话框,适配浅色、深色及窄窗口\n- 展示公网目标的门店与包厢信息,防抖查询并隔离迟到响应\n- 修复图标与输入框的重复边框,增加密码显隐及本机私钥选择\n- 连接、校验、打开操作台及指纹确认期间禁用同目标入口和回车提交,保留取消与其他目标连接\n- 使用提供的单色 SVG 替换最近记录设备图标,通过主题颜色着色并调整窄窗口对齐\n\n验证:\n- npm run typecheck 和 npm run build 通过\n- 快速连接及账号客户端相关 5 个测试文件、65 项测试通过\n- 用户已人工验证快速连接界面、设备自动命名与连接中按钮保护\n- 本次 SVG 替换已通过构建检查,未进行自动桌面交互测试\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-09-19T22:32:53+08:00"},{"Sha1":"641a614a33411567e47e69da2b24616bb882c07a","Message":"feat(devices): 实现公网设备门店查询与快速记录自动命名\n\n输入公网设备 ID 后复用服务端后台认证查询门店与包厢,减少快速连接记录的人工命名。\n\n实现内容:\n- 增加只读查询接口,严格取首条结果并校验会话与设备权限\n- 通过主页 IPC 暴露裁剪后的信息,合并并行请求并丢弃过期会话响应\n- 按“门店名称 - 包厢名称”命名快速记录,保留正式档案和用户自定义名称\n- 查询失败或无结果时保留原有连接流程,查询不申请设备锁或远程端口\n\n验证:\n- npm run typecheck 和 npm run build 通过\n- 快速连接存储、账号客户端和目标解析相关测试通过\n- 服务端 go test -race ./... 通过\n- 已完成服务端部署、健康检查及真实后台只读查询验收\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-09-19T22:32:15+08:00"},{"Sha1":"564dd95a6839b7659aabbc1377f22f03975010ff","Message":"feat(devices): 实现免建档快速连接与最近记录\n\n为减少连接前创建设备档案和重复填写认证的步骤,新增快速连接入口。\n\n实现内容:\n- 支持输入局域网 IP 或公网设备 ID,打开独立操作台或主页 SSH、SFTP 标签\n- 按账号隔离默认认证与最近成功记录,密码使用安全存储\n- 复用已有设备并支持原位保存为正式设备,保留会话和日志、INI 数据\n- 补充连接生命周期测试、功能说明和知识库导航覆盖\n\n验证:\n- npm run typecheck\n- npm test:166 个测试文件、1488 项测试通过\n- 最终调整后快速连接相关 20 项测试通过\n- npm run build(使用本地 Go 缓存并关闭依赖下载)\n- npm run check:knowledge\n- 用户反馈人工测试通过\n","AuthorEmail":"gamebyteyu@gmail.com","AuthorName":"starry","CommitterEmail":"gamebyteyu@gmail.com","CommitterName":"starry","Timestamp":"2026-09-19T20:39:58+08:00"}],"HeadCommit":{"Sha1":"1eecf5d0083e203962f44259da0fc663ac35aafd","Message":"fix(devices): 修复手动屏幕方向跨目录优先级\n\n优先在全部约定目录中查找非空的是否竖屏_手动,缺失时再回退普通方向,避免外部平台默认值遮蔽私有目录的手动配置。\n\n实现内容:\n- 修复设备概览、截图和实时预览共用的方向解析\n- 补充跨目录覆盖、手动零值、空值回退和扫描脚本回归测试\n- 同步配置注释与设备知识库说明\n\n验证:\n- 6 个相关测试文件共 128 项测试通过\n- npm run typecheck\n- npm run check:knowledge\n- git diff --cached --check\n- 实机画面人工验收结果尚未记录\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-09-18T23:15:25+08:00"},"CompareURL":"pengzhiyu/JuhaiOpsDesk/compare/4bb59f1faa6737e1d679f5715a0c213b46e020a8...1eecf5d0083e203962f44259da0fc663ac35aafd","Len":10}...
|
1789829267
|
Edit
Delete
|
|
31254
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9dc4f3236 {"Commits":[{"Sha1":"9dc4f3236199294415bd7cb15547687667940246","Message":"chore(reports): deployed-runtime 回绑 —— 常驻容器跑的是 c0bc8c0 的镜像\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-19T06:57:37-07:00"},{"Sha1":"68438d6e12f25645ca806681c661340cf989889d","Message":"chore(reports): C12 升格影响的门禁回绑 @ 3602f99 —— 仓根十五份 + runtime 十六份 + 夹具两份\n\nreports:rebind 在干净检出里跑完 14 个零依赖门禁(含两份工作台快照),pnpm --dir runtime\ncheck:governance 重出 runtime/reports 十六份,需构建产物的 fixtures / fixture-coverage 在主工作树\n(此刻干净)重跑——rebind 明确拒收那两份。全部绑 3602f99 / dirty=false。\n\n工作台快照因此记入 notification-webhook 的新档位:form=runtime-module、模块 state=authority、\nconsumption=runtime-service,Catalog 仍 candidate_e0 / E0(authority≠E2 标注保留)。\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-19T06:57:36-07:00"},{"Sha1":"3602f991ed80441050696984fc530f114a8bedfe","Message":"chore(reports): 镜像与冒烟回绑 @ c0bc8c0 —— C12 四个实现提交后重建并切换常驻运行时\n\n在 .worktrees/image-c0bc8c0 的干净检出里 image:build(enterprise-platform/runtime:c0bc8c05d14c,\nworktreeDirty=false),冒烟 6/6,up -d --no-deps runtime 切换后 healthy,check:deployed passed。\n运行面实测:/api/health 200;通知的四个端点已随控制器挂载,无凭证调 effects:classify 得 401(鉴权先拦)。\n**两个新模块的 profile 都未装**——数据未迁,装上只会制造\"已可用\"的假象。\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-19T06:56:44-07:00"},{"Sha1":"c0bc8c05d14cd036625d6b44bdb7bb3d53e8f2be","Message":"feat(modules): C12 收尾三步——投递实现迁入、客户端改写、运行时与控制器落地\n\n一口气把 C11 走过的三步在 C12 上做完:\n\n**① 投递实现迁入**(288 行,原文照搬未改语义):签名、验签、重放随机数、主机白名单、可重试判定、\n模板渲染,从 runtime/clients/notification-webhook 迁到 runtime/modules/notification-webhook/src/delivery/。\n\n**② 客户端改写成远程调用**(482 → 113 行):把 notification-delivery-api.v1 的四个操作实现为对平台端点的\n调用。消费者从此不再自己持有签名密钥与出口白名单。未配置 baseUrl / 非 2xx / 返回体不合形状 / 传输异常\n四条路径都是拒绝,各有单测。clients/README 的 B 类段落随之从两项减到一项(只剩配置平台)。\n\n**③ 运行时与控制器**:kit 加 notificationWebhookRuntime 钩子;模块给实现(规则一律调 @juhai/contracts,\n一条都不在模块里重写;租户取自 principal 不从请求体取;无已批准快照时用域自带 deny-all);\n装配点加 NotificationWebhookController,四条路由挂在 /api/v1/notification-deliveries 下。\n\n**一处映射必须写实而不是编**:两个分类器返回的是字符串联合(DELIVER / DUPLICATE / DLQ / REJECT_REPLAY /\nREJECT),不带原因码。我读了规则源码才定映射:effect 的 REJECT = 入参形状不合法(标识为空、次数非正整数、\n三个布尔位不是字面布尔)→ WEBHOOK_EFFECT_ATTEMPT_INVALID;REJECT_REPLAY → WEBHOOK_REPLAY_NOT_AUTHORIZED;\nprovider 的 REJECT → PROVIDER_OUTCOME_INVALID。非拒绝的分类结果走 outcome 原样透传,**不塞进拒绝词表**。\n\n**④ 迁移与对账工具**,形态同 C11(生成 SQL + 对账,不连库)。本域最需要写明的判断是**幂等键从哪来**:\n平台的唯一键是 (tenant_id, idempotency_key),而宿主 Notification 没有这一列(它靠含 escalation_id 的五元组)。\n迁移因此确定性派生:sha256(五元组) 前 32 位 + `host:` 前缀——带前缀是为了让迁来的键与平台自生成的键一眼可分,\n用确定性哈希是因为迁移要可重跑(随机键会让 ON CONFLICT 失效、重跑翻倍)。\n对账**单列幂等键碰撞**:宿主那组唯一键里 escalation_id 可空,两条只差 ticket 的记录会撞出同一个键,\n这类必须在迁移前被人看见,不能靠 ON CONFLICT 悄悄合并成一条。\n\n门禁反向记账两条随控制器落地清掉:registry-only(前缀有控制器应答了)与一条 fixture-only\n(域规则从\"只有夹具在调\"变成有运行时消费者)。CLAUDE.md 清单 12 / 7 / 8 / 8 → **12 / 6 / 7 / 8**。\n模块单测 22 例;治理单测 480 例 479 通过 / 0 失败;contracts 416 例全过;六道门禁 passed;api-nestjs typecheck 0 error。\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-19T06:54:00-07:00"},{"Sha1":"394ad9b7cd96348b1d2d83e50c9b26ddffa4a842","Message":"feat(modules): C12 两个作业处理器落地——认领+退避调度与过期认领释放\n\n- **claim-expiry 完全自洽**:只读写平台账本。释放 = claim_owner / claim_expires_at 置空、\n next_attempt_at 置为现在。**不改 attempts**——认领过期不是一次投递尝试,把它算成尝试会让一条消息\n 因为工作进程崩溃而提前耗尽重试额度。\n- **delivery-retry 只做账本侧调度**:认领、计次、按退避排下次时间;**不发请求**。外发实现(签名 / 超时 / HTTP)\n 今天仍在 runtime/clients/notification-webhook,照 C11 先例将迁入。这不是占位——调度与外发本就该分开,\n 而认领 + 退避正是\"同一条消息不被两个工作进程同时投\"的保证。\n\n认领做成**乐观抢占**:updateMany + 条件(claim 为空或已过期),并发下只有一个进程 count=1,其余拿 0 并跳过。\n用\"先读后写\"会在两个进程之间留竞态窗口——这条在 store 注释里写明了。\n退避是纯函数(base 指数增长、封顶),base/max 由路由策略给,作业不自己发明节奏。\n\nPrisma store 的每个操作都在事务里先 set_config('app.current_tenant_id', …, true)(FORCE RLS 下不设读不到;\ntrue 限定本事务内,避免连接复用带租户)。描述符同批补 health 真检查项(database up/down)。\n\n单测 5 例:三条失败关闭前提、认领成功才记尝试且退避指数封顶、已被他人认领则跳过且不记尝试、\n过期认领释放且不动 attempts、退避纯函数取值。\ncheck:stub-surface 反向逼着删两条桩登记,CLAUDE.md 桩数 14 → 12;治理单测 480 例 479 通过 / 0 失败。\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-19T06:39:06-07:00"}],"HeadCommit":{"Sha1":"9dc4f3236199294415bd7cb15547687667940246","Message":"chore(reports): deployed-runtime 回绑 —— 常驻容器跑的是 c0bc8c0 的镜像\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-19T06:57:37-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/3b55095e3aac481fdce7fde36f0dcc24309d5ef4...9dc4f3236199294415bd7cb15547687667940246","Len":7}...
|
1789826703
|
Edit
Delete
|
|
31253
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3b55095e3 {"Commits":[{"Sha1":"3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Message":"feat(modules): public-file 宿主数据迁移与对账工具(DEC-040 实施工作包第 2—3 步的可执行面)\n\n**不连任何库**:源库在工单仓(另一个 Owner 的环境),目标库在平台,两边凭据不该压进一个进程。\n工具做的是「生成幂等 SQL + 逐条对账」,导出与执行由操作者各自用 psql 完成——与仓里\nstack/provision/db.sh 同形(打印 SQL,由人决定在哪个库上执行)。用法与两条导出命令写在脚本头部。\n\n映射守住 DEC-040 的两条硬约束,各有单测:\n- **业务外键不迁**:宿主 Attachment.ticket_id(必填外键 + onDelete Cascade)降级为 owner_type='ticket'\n + owner_ref 两列,平台侧不建外键;\n- **retention_until 原样带过去**:级联删除迁走后,它是「宿主忘了调删除接口」时唯一兜底的东西。\n另外宿主出现未登记的状态值时落 PENDING 并在对账里单列 unmappedStatuses——**不猜**。\n\nSQL 幂等且不倒退:ON CONFLICT (tenant_id, file_id) DO UPDATE 只覆盖宿主侧的事实列,\n**不覆盖 scan_attempts / purged_at / purge_***(重跑不该把平台已推进的清理进度倒回宿主快照那一刻);\n按租户切分并先 set_config,FORCE RLS 下不设租户一行也写不进去。\n\n对账:行数 + sha256 逐条 + 状态分布;balanced 只在「不缺行且摘要逐条一致」时为真,不平退出码 1。\n**不看 storage_ref**——迁移不搬字节,对象仍在同一个桶里。\n\n端到端实跑过(合成 1 行,跑完已删,表回到 0 行):生成的 SQL 在 dev 平台库真表上 INSERT 0 1 / COMMIT,\n导出目标侧对账判平(源 1 / 目标 1、sha256 一致),目标为空时判不平且退出 1。\n模块单测 31 例通过 / 1 跳过(+9);check:modules / check:module-imports / check:stub-surface / check:pins 均 passed。\n\n**没做也不该由我做的**:真实数据迁移、宿主改调平台端点、级联删除语义的宿主侧改造——那些落在工单仓,\n归该仓 Owner;本仓这侧的可执行面到此齐备。\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-19T06:16:30-07:00"}],"HeadCommit":{"Sha1":"3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Message":"feat(modules): public-file 宿主数据迁移与对账工具(DEC-040 实施工作包第 2—3 步的可执行面)\n\n**不连任何库**:源库在工单仓(另一个 Owner 的环境),目标库在平台,两边凭据不该压进一个进程。\n工具做的是「生成幂等 SQL + 逐条对账」,导出与执行由操作者各自用 psql 完成——与仓里\nstack/provision/db.sh 同形(打印 SQL,由人决定在哪个库上执行)。用法与两条导出命令写在脚本头部。\n\n映射守住 DEC-040 的两条硬约束,各有单测:\n- **业务外键不迁**:宿主 Attachment.ticket_id(必填外键 + onDelete Cascade)降级为 owner_type='ticket'\n + owner_ref 两列,平台侧不建外键;\n- **retention_until 原样带过去**:级联删除迁走后,它是「宿主忘了调删除接口」时唯一兜底的东西。\n另外宿主出现未登记的状态值时落 PENDING 并在对账里单列 unmappedStatuses——**不猜**。\n\nSQL 幂等且不倒退:ON CONFLICT (tenant_id, file_id) DO UPDATE 只覆盖宿主侧的事实列,\n**不覆盖 scan_attempts / purged_at / purge_***(重跑不该把平台已推进的清理进度倒回宿主快照那一刻);\n按租户切分并先 set_config,FORCE RLS 下不设租户一行也写不进去。\n\n对账:行数 + sha256 逐条 + 状态分布;balanced 只在「不缺行且摘要逐条一致」时为真,不平退出码 1。\n**不看 storage_ref**——迁移不搬字节,对象仍在同一个桶里。\n\n端到端实跑过(合成 1 行,跑完已删,表回到 0 行):生成的 SQL 在 dev 平台库真表上 INSERT 0 1 / COMMIT,\n导出目标侧对账判平(源 1 / 目标 1、sha256 一致),目标为空时判不平且退出 1。\n模块单测 31 例通过 / 1 跳过(+9);check:modules / check:module-imports / check:stub-surface / check:pins 均 passed。\n\n**没做也不该由我做的**:真实数据迁移、宿主改调平台端点、级联删除语义的宿主侧改造——那些落在工单仓,\n归该仓 Owner;本仓这侧的可执行面到此齐备。\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-19T06:16:30-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/978aaeeb46174baca37960b898e7fd086cec6696...3b55095e3aac481fdce7fde36f0dcc24309d5ef4","Len":1}...
|
1789823887
|
Edit
Delete
|
|
31252
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"204cd56ae {"Commits":[{"Sha1":"204cd56aef423637994576cd323a2e466c19380a","Message":"docs(基础): 裁决计数随 DEC-040 由 39/32 改 40/33 —— L13 两处锚点\n\n真源仓 2026-09-19 按 CHG-021 §5 第 1 步登记 DEC-040 = approved,活跃 Catalog\n现为 40 条:33 approved / 3 pending / 4 rejected。治理层两处「快照时效提示」\n锚点后的机器基线声明仍写 39 / 32,一致性门禁 L13 四处判红。\n\n只改锚点后那句「机器基线为 N 条」——它是当前声明。同段落里 2026-09-04—09-10\n与 2026-09-12 决策会的历史数字**原样不动**:那是当时的事实,改它等于篡改记录。\n\n复跑 check-workspace-consistency:5 条降到 1 条。余下 1 条是 L10,在\nruntime/modules/public-file/src/persistence/public-file-store.ts 的注释里\n(「等 DEC-040 问题 5 裁完再加」),该注释早于「控制器四个操作落地」与\n「客户端由副作用半边改写」两个提交,是否已过期归实现方判断,本提交不代改。\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-19T06:17:06-07:00"}],"HeadCommit":{"Sha1":"204cd56aef423637994576cd323a2e466c19380a","Message":"docs(基础): 裁决计数随 DEC-040 由 39/32 改 40/33 —— L13 两处锚点\n\n真源仓 2026-09-19 按 CHG-021 §5 第 1 步登记 DEC-040 = approved,活跃 Catalog\n现为 40 条:33 approved / 3 pending / 4 rejected。治理层两处「快照时效提示」\n锚点后的机器基线声明仍写 39 / 32,一致性门禁 L13 四处判红。\n\n只改锚点后那句「机器基线为 N 条」——它是当前声明。同段落里 2026-09-04—09-10\n与 2026-09-12 决策会的历史数字**原样不动**:那是当时的事实,改它等于篡改记录。\n\n复跑 check-workspace-consistency:5 条降到 1 条。余下 1 条是 L10,在\nruntime/modules/public-file/src/persistence/public-file-store.ts 的注释里\n(「等 DEC-040 问题 5 裁完再加」),该注释早于「控制器四个操作落地」与\n「客户端由副作用半边改写」两个提交,是否已过期归实现方判断,本提交不代改。\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-19T06:17:06-07:00"},"CompareURL":"luoanwu/platform-governance/compare/3e1c4767a1d962075bfbcd815c9ce1f1bb7fd0a2...204cd56aef423637994576cd323a2e466c19380a","Len":1}...
|
1789823829
|
Edit
Delete
|
|
31251
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3e1c4767a {"Commits":[{"Sha1":"3e1c4767a1d962075bfbcd815c9ce1f1bb7fd0a2","Message":"docs(基础): 治理测试计数由 471 改 480 —— 随 check:modules 投影准入新增 8 例\n\n真源仓 `c1d6baa` 给 check:modules 加了投影类模块准入(CHG-022 §3.2 第 10 条\n可机器判定的那一半),带 8 个负向用例;另有并行会话 1 例。两条跑法复测都是\n480 例 479 通过 / 0 失败 / 1 跳过,`reports/` 仍一个字节不动。\n\n两仓数字一起改(本目录 CLAUDE.md 纪律):真源仓改实现,治理层改引用。\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-19T04:15:39-07:00"}],"HeadCommit":{"Sha1":"3e1c4767a1d962075bfbcd815c9ce1f1bb7fd0a2","Message":"docs(基础): 治理测试计数由 471 改 480 —— 随 check:modules 投影准入新增 8 例\n\n真源仓 `c1d6baa` 给 check:modules 加了投影类模块准入(CHG-022 §3.2 第 10 条\n可机器判定的那一半),带 8 个负向用例;另有并行会话 1 例。两条跑法复测都是\n480 例 479 通过 / 0 失败 / 1 跳过,`reports/` 仍一个字节不动。\n\n两仓数字一起改(本目录 CLAUDE.md 纪律):真源仓改实现,治理层改引用。\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-19T04:15:39-07:00"},"CompareURL":"luoanwu/platform-governance/compare/97e65b262e22f4bfef8755e848e5bacbf33574b3...3e1c4767a1d962075bfbcd815c9ce1f1bb7fd0a2","Len":1}...
|
1789823568
|
Edit
Delete
|
|
31250
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"978aaeeb4 {"Commits":[{"Sha1":"978aaeeb46174baca37960b898e7fd086cec6696","Message":"test(contracts): public-file 的 Catalog 断言改为 authority 口径\n\n6b3baf3 把 code_truth 指回模块目录后,契约包里那支断言仍停在 shape 期(code_truth === null,\n用例名也还写着 in shape state),整链第 17 环 contracts:check:local 判红。改为 authority 口径,\n并把两条规则的完整关系写进注释:catalog:drift 管 shape 侧(不得是代码真源),check:catalog 管\nauthority 侧(必须有代码真源)——这轮红过两次,两次都是只跑了其中一条。\n\ncontracts check:local 416 例全过。\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-19T04:17:59-07:00"},{"Sha1":"0799f069c8ef5369d80c9a7f1808fbbffb52e833","Message":"chore(reports): catalog / drift / 两份快照回绑 @ 6b3baf3 —— 这次 catalog 真的是绿的\n\n6b3baf3 修好 code_truth 后重绑:catalog-reconciliation 门禁 exit 0(33ca9d0 那份记的是 exit 1 的失败结论,\n见 6b3baf3 的订正说明)。同批把 catalog-drift 与两份工作台快照绑到同一提交。\n\n顺带一条实测口径:整链 pnpm check 会在工作树里写报告(不走 GOV_REPORT_DIR),于是 reports:rebind 会因为\n\"在工作区未提交\"而跳过那几份——先 git checkout 掉整链的产物再绑,否则会静默少绑。\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-19T04:15:17-07:00"},{"Sha1":"6b3baf3a2e95444b1b5bfa7cda867c0273f3b7c2","Message":"fix(catalog): public-file 的 code_truth 随 state=authority 指回模块目录 —— 并订正 33ca9d0 的一句错话\n\n整链 pnpm check 抓到:check:catalog 判 AUTHORITY_NO_TRUTH——模块 state=authority 但 Catalog\ncode_truth=null。两条规则合起来才是完整口径,我只跑了其中一条:\n- catalog:drift 的「shape 模块不得是 Catalog 代码真源」→ 建骨架那轮把 code_truth 置 null(正确);\n- check:catalog 的「authority 模块必须有代码真源」→ 474fcbb 把 state 翻成 authority 时该同步指回模块目录,\n 而我那轮只跑了 check:migration-decs / check:modules / check:stub-surface / catalog:drift,**没跑 check:catalog**。\n\n**同时订正一句错话**:33ca9d0 的提交说明写「逐份绑 673093a / dirty=false,各自门禁 exit 0」。\n实际上 reports:rebind 的输出里 catalog 那行明写着「门禁 exit 1」——回绑工具照常把报告带回来,\n但那份报告记的是失败结论,而我没看日志就断言全绿。本提交把 Catalog 修好、报告重绑(见随后一条),\n那句话以此为准更正:**33ca9d0 落地时 check:catalog 是红的,不是绿的**。\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-19T04:14:16-07:00"},{"Sha1":"c1d6baa66052c8b6a544a66aaf63da09f4f52a38","Message":"feat(governance): check:modules 增投影类模块准入——权威在仓外的模块只做投影\n\nCHG-022 §3.2 用九项准入条件替代「不新增 M8」,但九条里没有一条带上 C01\n自己的两条硬约束:权威是「获批的 Git 内容」、生成的快照与查询视图不可反向\n写入真源(C01 签收单第 9—10 行),以及禁止成为业务请求的同步依赖(接入模型\nL67 对 C01 规定的交付形态;AppManifest 与治理目录规范 L257 把「Registry 可用性\n成为所有业务请求的同步依赖」列为反模式)。两种误实现都不违反现有九条,门禁\n不会拦:把模块库当权威让 Git 退化成镜像,或把模块接进业务请求同步链。\n\n本提交守住可机器判定的那一半,三条规则只对显式登记 authority=\"external\"\n的模块生效——规则不猜哪个模块是投影,猜错会把真权威模块判成只读:\n\n PROJECTION_PROVIDES_PORT 投影模块不得 provides 内核端口(端口即权威接口)\n PROJECTION_CONTRACT_MISSING 声明的 http 契约在 contracts/contracts/ 找不到\n 同名文件即判红。失败关闭:找不到就无法判定只读,\n 不能当通过——这是 check:caddy 前缀覆盖那处空判的教训\n PROJECTION_CONTRACT_WRITES 契约含 GET / HEAD 之外的方法即判红\n\n今天仓里零个模块带该字段,规则处于待命态。它是给 C01 / C17 / C18 这类模块\n落地时用的,先于模块存在而存在,免得那两条约束在实现时被悄悄丢掉。\n\n「不进业务请求同步链」**不**在本规则内:那要看调用方怎么用,不在本仓可见面\n内,按 §3.2 第 10 条登记为人工复核项。不把没守的说成已守。\n\n判定逻辑独立成 governance/lib/projection-modules.mjs:check-modules.mjs 是平铺\n脚本、无 main() 守卫,测试一 import 就会把整道门禁跑起来,测不了。\n\n验证:新用例 8/8;check:modules 在真实仓通过(8 模块 / 投影 0);治理全量\n480 例 479 通过 0 失败 1 跳过(GOV_REPORT_DIR 重定向,reports/ 未动)。\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-19T04:14:15-07:00"},{"Sha1":"636269e370e031b356124086d0bfbedba5465636","Message":"chore(reports): port-conformance 回绑 @ fd5ab2c —— 新模块与改写后的客户端都在其扫描面内\n\n本轮新增 public-file 模块(provides 为空)与改写成远程调用的 client-public-file 都落在\nrunime/test/port 的一致性扫描面里,故该报告随之过期。主工作树干净时重跑,passed,绑 fd5ab2c。\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-19T04:12:10-07:00"}],"HeadCommit":{"Sha1":"978aaeeb46174baca37960b898e7fd086cec6696","Message":"test(contracts): public-file 的 Catalog 断言改为 authority 口径\n\n6b3baf3 把 code_truth 指回模块目录后,契约包里那支断言仍停在 shape 期(code_truth === null,\n用例名也还写着 in shape state),整链第 17 环 contracts:check:local 判红。改为 authority 口径,\n并把两条规则的完整关系写进注释:catalog:drift 管 shape 侧(不得是代码真源),check:catalog 管\nauthority 侧(必须有代码真源)——这轮红过两次,两次都是只跑了其中一条。\n\ncontracts check:local 416 例全过。\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-19T04:17:59-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/35302bb5d50d227f0b40a50b4f88dec89865b3a2...978aaeeb46174baca37960b898e7fd086cec6696","Len":18}...
|
1789823568
|
Edit
Delete
|
|
31249
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"97e65b262 {"Commits":[{"Sha1":"97e65b262e22f4bfef8755e848e5bacbf33574b3","Message":"docs(决策): DEC-040 / DEC-041 批准记录落定——九域全收开工,起手 C11 公共文件\n\n目录负责人 2026-09-19 在会话内批准两件,逐句留痕记在各自批准记录里:\n- DEC-040 选 A(C11/C12/C13 三条一并升格),第 4 条配置豁免与第 6 条终局形态均照原文批准;\n 附加条件:按 CHG-021 §6 一条走完再开下一条,起手 C11 公共文件。\n- DEC-041 选 A(C01 + C15—C19 六域一并收编),四项待定照其正文已定案原文批准;\n 六域实施由其材料的负责会话推进,与本三条并行、互不为前置。\n\n两件的「Current action 不得做」自本记录起失效,改由各自 CHG 的应用顺序一步一验约束。\n下一步是 CHG-021 §5 第 1 步:把 DEC-040 登记进真源仓 contracts/catalogs/decisions.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-19T02:55:33-07:00"}],"HeadCommit":{"Sha1":"97e65b262e22f4bfef8755e848e5bacbf33574b3","Message":"docs(决策): DEC-040 / DEC-041 批准记录落定——九域全收开工,起手 C11 公共文件\n\n目录负责人 2026-09-19 在会话内批准两件,逐句留痕记在各自批准记录里:\n- DEC-040 选 A(C11/C12/C13 三条一并升格),第 4 条配置豁免与第 6 条终局形态均照原文批准;\n 附加条件:按 CHG-021 §6 一条走完再开下一条,起手 C11 公共文件。\n- DEC-041 选 A(C01 + C15—C19 六域一并收编),四项待定照其正文已定案原文批准;\n 六域实施由其材料的负责会话推进,与本三条并行、互不为前置。\n\n两件的「Current action 不得做」自本记录起失效,改由各自 CHG 的应用顺序一步一验约束。\n下一步是 CHG-021 §5 第 1 步:把 DEC-040 登记进真源仓 contracts/catalogs/decisions.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-19T02:55:33-07:00"},"CompareURL":"luoanwu/platform-governance/compare/6310f96273f3871838ed559d8ba7376fca142465...97e65b262e22f4bfef8755e848e5bacbf33574b3","Len":1}...
|
1789811736
|
Edit
Delete
|
|
31248
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6310f9627 {"Commits":[{"Sha1":"6310f96273f3871838ed559d8ba7376fca142465","Message":"docs(决策): DEC-040 补第 6 条终局形态——16 模块 + 3 采纳 + 2 排除资产,C07/C08/C09 显式裁定不升格\n\n目录负责人 2026-09-19 口径:「除 C07 交付、C08 网关、C09 观测外的项目都应该是运行时模块」。\n对着机器 Catalog 核过,这句与桌上两包严丝合缝,不需要第三包:7(已有)+ 3(DEC-040/CHG-021)\n+ 6(DEC-041/CHG-022)= 16,余下正好是那三条采纳形态,加两条排除资产即 21 条 Catalog 项目。\n\n但有个措辞缺口:两包此前只是**没覆盖** C07/C08/C09,而「没被覆盖」与「已裁定维持采纳形态」\n不是一回事——DEC-041 全文对这三条零提及(实测 grep 零命中)。故在 DEC-040 建议 Decision 补第 6 条:\n\n- 三档分法成表,逐条点名。\n- 三条不升格的理由落到具体落点:交付=release-manifest / check-promotion / verify-candidate;\n 网关=Caddyfile + caddy-routes.json + check-caddy;观测=collector + otel-attributes.json + check-otel。\n 给它们建模块=再造一个已经在跑的东西,且 DEC-024 / DEC-025 已批准这三处选型。\n- 例外入口不关死:将来某条被证明给不了隔离 / 故障预算 / 退出保障,仍可按 Q01 备选条款另提裁决,\n 但同样须附两个宿主方案的成本与迁移影响,不得以「形态统一」为由自动升格。\n\nCHG-021 的「与 CHG-022 的分工」段同步补成三分法并指回本条。\n自检:两份文档相对链接逐条验在;工作区一致性 0 条(8386 份受控文件 / 4607 条链接)。\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-19T02:49:08-07:00"}],"HeadCommit":{"Sha1":"6310f96273f3871838ed559d8ba7376fca142465","Message":"docs(决策): DEC-040 补第 6 条终局形态——16 模块 + 3 采纳 + 2 排除资产,C07/C08/C09 显式裁定不升格\n\n目录负责人 2026-09-19 口径:「除 C07 交付、C08 网关、C09 观测外的项目都应该是运行时模块」。\n对着机器 Catalog 核过,这句与桌上两包严丝合缝,不需要第三包:7(已有)+ 3(DEC-040/CHG-021)\n+ 6(DEC-041/CHG-022)= 16,余下正好是那三条采纳形态,加两条排除资产即 21 条 Catalog 项目。\n\n但有个措辞缺口:两包此前只是**没覆盖** C07/C08/C09,而「没被覆盖」与「已裁定维持采纳形态」\n不是一回事——DEC-041 全文对这三条零提及(实测 grep 零命中)。故在 DEC-040 建议 Decision 补第 6 条:\n\n- 三档分法成表,逐条点名。\n- 三条不升格的理由落到具体落点:交付=release-manifest / check-promotion / verify-candidate;\n 网关=Caddyfile + caddy-routes.json + check-caddy;观测=collector + otel-attributes.json + check-otel。\n 给它们建模块=再造一个已经在跑的东西,且 DEC-024 / DEC-025 已批准这三处选型。\n- 例外入口不关死:将来某条被证明给不了隔离 / 故障预算 / 退出保障,仍可按 Q01 备选条款另提裁决,\n 但同样须附两个宿主方案的成本与迁移影响,不得以「形态统一」为由自动升格。\n\nCHG-021 的「与 CHG-022 的分工」段同步补成三分法并指回本条。\n自检:两份文档相对链接逐条验在;工作区一致性 0 条(8386 份受控文件 / 4607 条链接)。\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-19T02:49:08-07:00"},"CompareURL":"luoanwu/platform-governance/compare/87c3722f6c778c786ea50eba75bc5806fa300b0b...6310f96273f3871838ed559d8ba7376fca142465","Len":1}...
|
1789811363
|
Edit
Delete
|
|
31247
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"35302bb5d {"Commits":[{"Sha1":"35302bb5d50d227f0b40a50b4f88dec89865b3a2","Message":"chore(reports): runtime 治理报告十六份回绑 —— 序号列提交落进其作用域\n\nbb63a0c(工作台序号列)落在 runtime/reports/runtime-governance.latest.json 的作用域内,\ncheck:evidence 判它 error(绑定 a4ba565 之后作用域内有 1 个文件变更)。跑 pnpm --dir runtime\ncheck:governance 重出(该聚合会一并重写同目录十六份),provenance dirty=false——runtime 级报告\n的脏判定只看 runtime/ 子树,而并行会话此刻的在途文件都在 stack/ 与 governance/ 下。\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-19T02:40:17-07:00"},{"Sha1":"87a23ad19a567838ae9cdebbfa7f940cf0e59845","Message":"chore(reports): Alertmanager 提交影响的门禁回绑 @ 594cc29 —— 五份;工作台两份快照 @ 92d62b3\n\n经 pnpm reports:rebind 在 HEAD 干净检出里重跑(零依赖门禁,临时检出不装依赖),七份\nprovenance 均 worktreeDirty=false。\n\n- 绑 594cc29(Alertmanager 提交):caddy、otel、doc-claims、stub-surface、module-imports。\n 其中 otel 是本次改动直接触及的(直抓目标 5 → 6、掉线告警覆盖 alertmanager);caddy 因\n 作用域含 stack/compose.yaml 与 otel-attributes.json;doc-claims 因作用域含 docs/runbook.md;\n stub-surface 与 module-imports 这两份在本次改动前就已过期——bb63a0c 改了\n runtime/apps/workbench 的源码却没跟 chore(reports),顺带一并清掉。\n- 绑 92d62b3(并行会话的 deployed-runtime 回绑):工作台目录与运维两份快照。工具按当前\n HEAD 生成,故与上面五份不同 sha;两者都在 HEAD 历史上,各自作用域内无后续变更。\n\n回绑后 check:evidence 的 error 档清零。仍为 warn 的几份需要构建产物或运行环境,不在零依赖\n回绑工具范围:release-manifest、sbom、runtime-acceptance、ui-acceptance。\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-19T02:38:51-07:00"},{"Sha1":"c0c135e2113b8035d2eed751cdffbaaf9e36b162","Message":"docs(能力设计): 九域模块化落地设计 + 运行时模块进出机制设计(依赖 DEC-041 / CHG-022 签署)\n\n治理仓 87c3722 落了 DEC-041(零运行面契约域收编为平台运行时模块)与 CHG-022 受控变更包;\n本批是它们在真源仓的配套设计。签署前 决策批次-2026-09-16 C-3 的承接表仍是生效裁决,\n两份文件的任何一格都不得开工。\n\n九域模块化落地设计:\n- 六个模块的登记形状定到可直接抄进 runtime/modules.json 的程度:id = profile、package、\n prismaAccessor 与库名一律「模块 id 去连字符」(沿用 ai-gateway → aigateway / platform_aigateway\n 的既有惯例,与同日 CHG-021 三条同规则,不为好看改短名)、provides 一律空数组、\n blocked_by 一律 DEC-041、state 起 shape。\n- provides 空数组是最关键的一条约束:九域不提供任何内核端口,因此不需要动 @juhai/kernel,\n exact pin 不受影响。若将来某域确需新端口,那是基础框架层的独立裁决。\n- state 阶梯写明 authority 卡两道:既缺授权建权威表的已批准 DEC(identity 用 DEC-032、\n C11—C13 用 DEC-040,六域没有对应物,DEC-041 第 4 条明确不代批),又缺消费者(DEC-041\n 第 7 条 2026-09-19 定案不放宽)。这是已决且尚未满足,不是未决。\n- §4 列出落一个模块要动的 13 道门禁及建议顺序,其中两条最容易漏:governance/catalog-map.json\n 必须显式补 模块 id → Catalog id 的映射(不靠同名推断——既有 identity→enterprise-idp 就不同名,\n 漏掉则 build-workbench-snapshots 报 MODULE_WITHOUT_CATALOG_ENTRY、check:catalog 对账同时判红),\n 以及 check:stub-surface 的四个清单数字与 CLAUDE.md 的声明被 S6 绑死、每落一个模块要同步改一次。\n Catalog 那一步必须与 modules.json 同一个提交,否则 catalog:drift(2026-09-17 起 drift 档一律阻断)\n 在中间态判红。\n- §5 说明 C11—C13 不在本设计范围(归 DEC-040 / CHG-021),列出两边共享的三条结论,以及一条\n 只对那三条成立、对六域不成立的代价:它们 module_e2 / E2 要降到 candidate_e0 / E0,而六域本就是 E0。\n\n运行时模块进出机制设计:\n- §0 记录今天的实况:新增有路径(modules.json 登记 + check-modules 校验 + profiles.ts 按\n PLATFORM_PROFILES 动态 import,三处拼起来才看得全),退役完全没有——没有 retirement 字段、\n 没有 directory: null 等价物,删目录 + 删登记行之后 check:modules 反而是绿的,库也留在底座上\n 没有任何登记说它该保留还是删除。这正是 Q01 要求宿主提供「退出保障」的那一条,对控制面\n 自己同样不成立的地方。Catalog 侧早有成熟先例(18 个派生仓退役用 directory: null + retirement),\n 本设计把同一套口径下沉到模块登记。\n- §1 新增九步,第 4 步是「退役路径先写」——进来之前先说清怎么出去;§3 退役三原则与 retirement\n 登记形状(retiredAt / decisionRef / packageRemoved / database.disposition / portsFallback /\n consumerMigration,字段义务逐条写明);§3.3 要改的三处代码:check-modules.mjs 认 retirement\n 并改校验对象、profiles.ts 把退役模块排除出 known 且错误消息要带 retiredAt 与 decisionRef、\n check-stub-surface.mjs 扫描面排除退役模块。prismaAccessor 与 database 的唯一性继续对退役条目\n 生效——退役不是让出名字。\n- §4 用目录负责人举的「流程状态设计管理服务」走一遍,并先划清它与 C15 的边界:设计态出定义、\n 运行态吃定义,两者不共库、经契约相连。结论是机制建成后新增一个服务的技术工作量全在机械步骤\n (第 5—9 步),真正的工作在第 1—4 步的裁决与协议——这正是把闸从「模块数量」换成「准入标准」的意义。\n- §5 列出对工作台的三项影响(「已装载模块 N/M」的分母要改成未退役的登记数、退役模块单列一档\n 而不是从列表消失、服务目录「环境」列口径不变)。\n- §7 记录不做运行期热插拔的四条理由:Nest DynamicModule 的端口束在启动时一次合成、Prisma\n 一模块一库的连接池与在途事务、fail-closed 会多出第三种中间态而消费侧分支只按前两种写、\n 模块进出是季度级动作。\n\n两份均为设计,不含任何登记或代码改动:本次提交不动 runtime/modules.json、contracts/catalogs/、\ngovernance/ 与任何模块目录。工作树里五份 reports/*.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-19T02:38:37-07:00"},{"Sha1":"92d62b3f9cefbe46854f87cf4b2fb5ddf63004c5","Message":"chore(reports): deployed-runtime 回绑 @ f0be572 —— 常驻容器跑的是 bb63a0c 的镜像\n\n在 .worktrees/image-bb63a0c 的干净检出(f0be572,0 个变更)里跑 check:deployed --write-report:\npassed,容器 1 个,期望镜像 01edea201c85 @ bb63a0c,IMAGE_SOURCE_EQUIVALENT。\n主工作树此刻仍有并行会话的在途文件,故报告在干净检出里生成后拷回(仓纪律 5 / 偏差 #34-A 同款做法)。\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-19T02:38:04-07:00"},{"Sha1":"f0be572e09ebf474b528456d81ed1fa6f4333d5d","Message":"chore(reports): 镜像与冒烟回绑 @ bb63a0c —— 序号列提交后重建并切换常驻运行时\n\nbb63a0c 动的是 runtime/apps/workbench/src/**(运行时镜像输入),check:deployed 随即判\nBUILT_IMAGE_SOURCE_BEHIND。本轮重建并切换:\n\n- 主工作树此刻有并行会话的 7 个在途文件(stack/compose.yaml、三份 otel 配置、两个 overlay、\n otel-attributes.json),直接建会把 worktreeDirty 记成 true 而该项是 error。故在\n .worktrees/image-bb63a0c 的干净检出(HEAD=bb63a0c,0 个变更)里 image:build:\n enterprise-platform/runtime:bb63a0cca03a,contextMode=head,worktreeDirty=false。\n- 冒烟 6/6(单 profile、Redis 逻辑库 15、:53009),报告同样绑 bb63a0c / dirty=false。\n- docker compose … up -d --no-deps runtime 切换,healthy;容器内 PLATFORM_SOURCE_SHA=bb63a0c,\n /api/health 200、/api/platform/catalog 200(19 条、schema 4)。--no-deps 未把并行会话在途的\n alertmanager 服务带起来(那个容器是它自己 09:23 起的,我的命令在 09:36)。\n- check:deployed failed → passed(IMAGE_SOURCE_EQUIVALENT)。\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-19T02:37:31-07:00"}],"HeadCommit":{"Sha1":"35302bb5d50d227f0b40a50b4f88dec89865b3a2","Message":"chore(reports): runtime 治理报告十六份回绑 —— 序号列提交落进其作用域\n\nbb63a0c(工作台序号列)落在 runtime/reports/runtime-governance.latest.json 的作用域内,\ncheck:evidence 判它 error(绑定 a4ba565 之后作用域内有 1 个文件变更)。跑 pnpm --dir runtime\ncheck:governance 重出(该聚合会一并重写同目录十六份),provenance dirty=false——runtime 级报告\n的脏判定只看 runtime/ 子树,而并行会话此刻的在途文件都在 stack/ 与 governance/ 下。\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-19T02:40:17-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/bb63a0cca03aa4f7e67a8e2630c52788de87708c...35302bb5d50d227f0b40a50b4f88dec89865b3a2","Len":6}...
|
1789810868
|
Edit
Delete
|
|
31246
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"87c3722f6 {"Commits":[{"Sha1":"87c3722f6c778c786ea50eba75bc5806fa300b0b","Message":"docs(决策): DEC-041 零运行面契约域收编为平台运行时模块 + CHG-022 受控变更包(均待签署)\n\n目录负责人 2026-09-19 提出「调度跨域、企业 IM、数据分析、统一体验、成本容量 + 应用与\n契约注册中心,应该直接放到企业控制面作为运行时模块;企业控制面要支持运行时模块的新增\n和删除」。该指示与已批准的 决策批次-2026-09-16 C-3 相反——C-3 的承接表把这几项裁给上层\n既有宿主,附条件「不新增 M8」「宿主协议签收才算准入」——故先成裁决材料,批准后实现才有依据。\n\n范围与 DEC-040 / CHG-021 划清:那一对管 C11—C13 三条有真实现的托管能力,本对管六个\n零运行面的域(C15 / C16 / C17 / C18 / C19 + C01)。两包独立签署、互不为前置(目录负责人当日定案)。\n\nDEC-041 草案(待批准):\n- Q01 备选条款是唯一合法入口,其触发条件经实测成立,且成立得比该条款预想的彻底:C-3\n 指定的五个宿主里三个不存在——C17「已有分析产品宿主」在业务应用层四个 + 企业领域应用层\n 四个里无一是分析产品;C19「复用 C17」随之落空;C15「业务应用的托管流程执行器」全工作区\n grep 零命中,最接近的工单仓 AutomationRun.ticketId 是必填外键 + onDelete Cascade,绑死\n 单张工单。一个须新建(C16 要的 Conversation/Membership/Message 工单 schema 里没有,而\n C-3 自己要求与 TicketMessage 分开),一个不是状态宿主(C18)。不是「评估后认为不足」,\n 是没有评估对象。\n- 补齐 Q01 要求的两个宿主方案成本与迁移影响对比(不做这张表,本裁决不满足自己的准入条件):\n 逐域给 C-3 指定者 + 全工作区内另找的最接近者,两个候选都评。\n- 一处此前没有材料提过的事实:这六项的 Catalog hosted_by 早就是 enterprise-platform。\n 登记面一直说它们归控制面,是 C-3 把运行宿主裁给了上层——本件是把裁决对齐到登记,\n 不是反过来。另引 workspace.json 2026-09-19 才补入的 layers[].responsibility 作为层职责口径\n (应然口径,不作现状证据)。\n- 建议 Decision 八条:provides 全空不动 kernel(exact pin 不受影响)/「不新增 M8」改写为\n 九项准入标准而非删除(Q01「不得以方便实现自动新增」保留,从「不许新增」变成「不许绕过\n 准入条件新增」)/ 先契约后实现 / 六域起 shape,升 authority 各需一条新的已批准 DEC,本件\n 不代批 / Fact 按 DEC-038(仍 pending)停在候选 / 验收等级不升不降(六域本就 candidate_e0\n E0,与 DEC-040 那三条 E2→E0 相反,两份材料别串)/ 无消费者的模块只能停 shape / 退役机制\n 与本件同批建。末两条为目录负责人当日对原待定项 B / C 的定案。\n- 第 7 条的后果已写明:六域今天零消费者,与「shape 不得有迁移」叠加,等于第一个真实消费者\n 出现前一个都不能升 authority、也建不了权威表。这是已决且尚未满足,不是未决。\n\nCHG-022 材料(待 DEC-041 批准 + Catalog Owner 签署,本包未改动任何文件):\n- 四份 delta:decisions / platform-projects / modules / catalog-map,各带当前值与目标值。\n platform-projects 每条另列 unchanged 段,把「六域只改 form、hosted_by 与验收等级都不动」\n 与 CHG-021 三条的相反处置区分开。\n- §4A 八步应用顺序,每步注明为什么在那一位;六个模块可分批,但每批内部第 3—7 步必须同一提交,\n 否则 catalog:drift(2026-09-17 起 drift 档一律阻断)在中间态判红。\n- 第 8 步是退役机制:今天 runtime/modules.json 没有任何退役表达(无 retirement 字段、无\n directory: null 等价物),删目录 + 删登记行之后 check:modules 反而是绿的——这正是 Q01 要求\n 宿主提供「退出保障」的那一条,对控制面自己同样不成立的地方。没有退役路径,「支持新增」\n 就是单向门。\n- 顺带记录一处由 CHG-021 的 catalog-map.delta.json 查明、本包据以补进准入第 1 条的判据:\n 每个新模块必须在 governance/catalog-map.json 显式登记 模块 id → Catalog id 的映射,不靠\n 同名推断(既有 identity→enterprise-idp 就不同名),漏掉则 build-workbench-snapshots 报\n MODULE_WITHOUT_CATALOG_ENTRY、check:catalog 对账同时判红。\n\n收纳表随之改数:doc/ 160 → 166,编号区间跟到 041 / 022。\n\n配套的两份设计文档在真源仓 docs/能力设计/(九域模块化落地设计、运行时模块进出机制设计),\n本次不在治理仓提交范围内。\n\n自检:四份 delta JSON 合法;六份文件的相对链接逐条验在;治理层一致性检查 CLEAN\n(14 仓 / 8377 文件 / 4507 链接)——它只扫已跟踪文件,本批提交后才算机器验过。\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-19T02:36:03-07:00"}],"HeadCommit":{"Sha1":"87c3722f6c778c786ea50eba75bc5806fa300b0b","Message":"docs(决策): DEC-041 零运行面契约域收编为平台运行时模块 + CHG-022 受控变更包(均待签署)\n\n目录负责人 2026-09-19 提出「调度跨域、企业 IM、数据分析、统一体验、成本容量 + 应用与\n契约注册中心,应该直接放到企业控制面作为运行时模块;企业控制面要支持运行时模块的新增\n和删除」。该指示与已批准的 决策批次-2026-09-16 C-3 相反——C-3 的承接表把这几项裁给上层\n既有宿主,附条件「不新增 M8」「宿主协议签收才算准入」——故先成裁决材料,批准后实现才有依据。\n\n范围与 DEC-040 / CHG-021 划清:那一对管 C11—C13 三条有真实现的托管能力,本对管六个\n零运行面的域(C15 / C16 / C17 / C18 / C19 + C01)。两包独立签署、互不为前置(目录负责人当日定案)。\n\nDEC-041 草案(待批准):\n- Q01 备选条款是唯一合法入口,其触发条件经实测成立,且成立得比该条款预想的彻底:C-3\n 指定的五个宿主里三个不存在——C17「已有分析产品宿主」在业务应用层四个 + 企业领域应用层\n 四个里无一是分析产品;C19「复用 C17」随之落空;C15「业务应用的托管流程执行器」全工作区\n grep 零命中,最接近的工单仓 AutomationRun.ticketId 是必填外键 + onDelete Cascade,绑死\n 单张工单。一个须新建(C16 要的 Conversation/Membership/Message 工单 schema 里没有,而\n C-3 自己要求与 TicketMessage 分开),一个不是状态宿主(C18)。不是「评估后认为不足」,\n 是没有评估对象。\n- 补齐 Q01 要求的两个宿主方案成本与迁移影响对比(不做这张表,本裁决不满足自己的准入条件):\n 逐域给 C-3 指定者 + 全工作区内另找的最接近者,两个候选都评。\n- 一处此前没有材料提过的事实:这六项的 Catalog hosted_by 早就是 enterprise-platform。\n 登记面一直说它们归控制面,是 C-3 把运行宿主裁给了上层——本件是把裁决对齐到登记,\n 不是反过来。另引 workspace.json 2026-09-19 才补入的 layers[].responsibility 作为层职责口径\n (应然口径,不作现状证据)。\n- 建议 Decision 八条:provides 全空不动 kernel(exact pin 不受影响)/「不新增 M8」改写为\n 九项准入标准而非删除(Q01「不得以方便实现自动新增」保留,从「不许新增」变成「不许绕过\n 准入条件新增」)/ 先契约后实现 / 六域起 shape,升 authority 各需一条新的已批准 DEC,本件\n 不代批 / Fact 按 DEC-038(仍 pending)停在候选 / 验收等级不升不降(六域本就 candidate_e0\n E0,与 DEC-040 那三条 E2→E0 相反,两份材料别串)/ 无消费者的模块只能停 shape / 退役机制\n 与本件同批建。末两条为目录负责人当日对原待定项 B / C 的定案。\n- 第 7 条的后果已写明:六域今天零消费者,与「shape 不得有迁移」叠加,等于第一个真实消费者\n 出现前一个都不能升 authority、也建不了权威表。这是已决且尚未满足,不是未决。\n\nCHG-022 材料(待 DEC-041 批准 + Catalog Owner 签署,本包未改动任何文件):\n- 四份 delta:decisions / platform-projects / modules / catalog-map,各带当前值与目标值。\n platform-projects 每条另列 unchanged 段,把「六域只改 form、hosted_by 与验收等级都不动」\n 与 CHG-021 三条的相反处置区分开。\n- §4A 八步应用顺序,每步注明为什么在那一位;六个模块可分批,但每批内部第 3—7 步必须同一提交,\n 否则 catalog:drift(2026-09-17 起 drift 档一律阻断)在中间态判红。\n- 第 8 步是退役机制:今天 runtime/modules.json 没有任何退役表达(无 retirement 字段、无\n directory: null 等价物),删目录 + 删登记行之后 check:modules 反而是绿的——这正是 Q01 要求\n 宿主提供「退出保障」的那一条,对控制面自己同样不成立的地方。没有退役路径,「支持新增」\n 就是单向门。\n- 顺带记录一处由 CHG-021 的 catalog-map.delta.json 查明、本包据以补进准入第 1 条的判据:\n 每个新模块必须在 governance/catalog-map.json 显式登记 模块 id → Catalog id 的映射,不靠\n 同名推断(既有 identity→enterprise-idp 就不同名),漏掉则 build-workbench-snapshots 报\n MODULE_WITHOUT_CATALOG_ENTRY、check:catalog 对账同时判红。\n\n收纳表随之改数:doc/ 160 → 166,编号区间跟到 041 / 022。\n\n配套的两份设计文档在真源仓 docs/能力设计/(九域模块化落地设计、运行时模块进出机制设计),\n本次不在治理仓提交范围内。\n\n自检:四份 delta JSON 合法;六份文件的相对链接逐条验在;治理层一致性检查 CLEAN\n(14 仓 / 8377 文件 / 4507 链接)——它只扫已跟踪文件,本批提交后才算机器验过。\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-19T02:36:03-07:00"},"CompareURL":"luoanwu/platform-governance/compare/7ad320a65b921c9d68a4ab48df81241998e64867...87c3722f6c778c786ea50eba75bc5806fa300b0b","Len":1}...
|
1789810841
|
Edit
Delete
|
|
31245
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"bb63a0cca {"Commits":[{"Sha1":"bb63a0cca03aa4f7e67a8e2630c52788de87708c","Message":"feat(workbench): 服务目录加序号列——当前取景下的行号,分组视图连续编\n\n表格最左加一列 #。口径写在表头 title 与读屏可见的 \u003ccaption\u003e 里:它是**取景产物**,\n答的是「当前这一屏的第几行」,筛选 / 排序 / 分组一变就跟着变,**不是条目的固定编号**;\n要稳定指代条目仍用条目名下面的 id。\n\n三处刻意的取舍:\n- 分组视图下**连续编号**,不在每组内从 1 重来——重置会让同一个数字在一页里出现好几次,\n 而「第 7 行」正是拿它来指路的场合。\n- 这一列**不可排序**:它没有可排的取值,给它挂排序等于自我指涉。\n- 偏移用 map 出的派生数组算,不按下标取。仓里开了 noUncheckedIndexedAccess,\n `groupOffsets[groupIndex]` 是 number | undefined,用 `?? 0` 兜会把编号错位悄悄吞掉。\n\n实测:dev :3010 默认视图 1…19;?group=layer 下 P0 组 1—10、P1 组从 11 接着编;\n?layer=P2\u0026sort=-name 筛出 3 条后重编 1—3;入口 :58080 重建产物后同样;375px 窄屏不挤版。\ntypecheck / lint 均 0 error。\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-19T02:24:55-07:00"}],"HeadCommit":{"Sha1":"bb63a0cca03aa4f7e67a8e2630c52788de87708c","Message":"feat(workbench): 服务目录加序号列——当前取景下的行号,分组视图连续编\n\n表格最左加一列 #。口径写在表头 title 与读屏可见的 \u003ccaption\u003e 里:它是**取景产物**,\n答的是「当前这一屏的第几行」,筛选 / 排序 / 分组一变就跟着变,**不是条目的固定编号**;\n要稳定指代条目仍用条目名下面的 id。\n\n三处刻意的取舍:\n- 分组视图下**连续编号**,不在每组内从 1 重来——重置会让同一个数字在一页里出现好几次,\n 而「第 7 行」正是拿它来指路的场合。\n- 这一列**不可排序**:它没有可排的取值,给它挂排序等于自我指涉。\n- 偏移用 map 出的派生数组算,不按下标取。仓里开了 noUncheckedIndexedAccess,\n `groupOffsets[groupIndex]` 是 number | undefined,用 `?? 0` 兜会把编号错位悄悄吞掉。\n\n实测:dev :3010 默认视图 1…19;?group=layer 下 P0 组 1—10、P1 组从 11 接着编;\n?layer=P2\u0026sort=-name 筛出 3 条后重编 1—3;入口 :58080 重建产物后同样;375px 窄屏不挤版。\ntypecheck / lint 均 0 error。\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-19T02:24:55-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/8f5832b626a294a43810b2f6939e59e93a341283...bb63a0cca03aa4f7e67a8e2630c52788de87708c","Len":1}...
|
1789810067
|
Edit
Delete
|
|
31244
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7ad320a65 {"Commits":[{"Sha1":"7ad320a65b921c9d68a4ab48df81241998e64867","Message":"docs(决策): 写回 CHG-021 材料的 README——77aaf85 里存进去的那份不是本包内容\n\n事故与更正,如实记:本包 README 于 2026-09-19 01:53 写成,提交 77aaf85 于约 02:0x 落库;\n两者之间另一并行会话(九域/六域收编那条线)在同一路径写入了它自己的材料,而我提交前\n只核了文件名清单、没核文件内容,于是 77aaf85 存进去的是它的「CHG-021-C3-NINE-DOMAIN-MODULE-INTAKE」,\n本包的 README 从未真正入库。四份 delta 与 DEC-040 草案未被波及,一直是本包内容(changeId 均为\nCHG-021-HOSTED-MODULE-PROMOTION),可据以复核本文与它们是否一致。\n\n本次按本会话原稿写回,内容与四份 delta 逐项对齐,并补一节「与 CHG-022 的分工」:\n- CHG-021(本包)= C11 公共文件 / C12 通知与 Webhook / C13 配置与功能开关三条**有真实现与存量\n 消费者**的托管能力升格,要处理权威状态迁移、宿主改造与回切;\n- CHG-022 = 其余六个**零运行面**契约域(C15—C19 + C01)的收编。\n两包范围不重叠。编号维持现状:并行会话已自取 CHG-022 并在其材料里引用本包为 CHG-021,\n无须改号。\n\n链接自检:8 条相对链接逐条验在(含新增的 ../CHG-022-材料/README.md)。\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-19T02:21:58-07:00"},{"Sha1":"e8d488b2bf75395b2aae4a653146440a624073f1","Message":"docs(治理): 收纳表随 DEC-040 / CHG-021 落地改数——doc/ 154 → 160,编号区间跟到 040 / 021\n\nL13(治理层自己的数字声明与 git ls-files 不符)在上一条提交后即判红:收纳表写 154,实为 160。\n六个文件全部来自 77aaf85(DEC-040 草案 1 份 + CHG-021 材料 5 份)。同时把区间描述从\nDEC-001~039 / CHG-001~020 跟到 DEC-001~040 / CHG-001~021。\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-19T02:10:28-07:00"},{"Sha1":"77aaf8599b0379a71bf3eed4e07fa93e08317325","Message":"docs(决策): DEC-040 托管能力升格为平台运行时模块 + CHG-021 受控变更包(均待签署)\n\n目录负责人 2026-09-19 提出「托管模块应该直接迁进本仓」。该指示与三处已批准口径相反\n(Q01「不得以方便实现自动新增 M8」、设计方案第 155 行「三消费者 + G4 后用 scaffold 加模块」、\n第 35 行把自动服务化文件/通知/配置列为非目标),故先成裁决材料,批准后实现才有依据。\n\nDEC-040 草案(待批准):\n- 底账:三条能力的代码两半都已在本仓(规则 2026-09-14 进 contracts/src/domain,副作用\n 2026-09-18 进 runtime/clients),没有的是运行服务与权威状态——后者仍完整在工单宿主。\n- 消费者实测 3 / 3 / 1;配置的三消费者条件按建议 Decision 第 4 条显式豁免,带回看期\n 2027-03-19 与 single-consumer 接口标记。\n- 补齐 Q01 要求的两个宿主方案成本与迁移影响对比(不做这张表,本裁决不满足自己的准入条件)。\n- 写明两处代价:① 验收等级如实由 E2 降到 E0(宿主实现的 E2 不证明平台实现);② 业务外键\n (Attachment.ticket_id 必填 + Cascade、Notification 唯一键含 escalation_id)必须断开,\n 级联删除语义要由宿主显式调用重建。\n- 内核无对应端口且 kernel 由仓外框架 Owner 发布,故升格出的模块 provides 为空、消费面只有 HTTP。\n\nCHG-021 材料(待 DEC-040 批准 + Catalog Owner 签署,本包未改动任何文件):\n- 四份 delta:decisions / platform-projects / modules / catalog-map,各带当前值与目标值。\n- 逐行核过 check:modules(第 45—57 行)的六条判据并写进应用顺序;登记面与模块骨架必须同批落地。\n- 附实施工作包七步链与已知风险;顺带记录三条模块登记会补上 Release Manifest 少三行的现存缺口。\n\n自检:四份 delta JSON 合法;两份文档 10 条相对链接逐条验在。治理层一致性检查只扫已跟踪文件,\n本批提交后才算机器验过。\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-19T02:08:58-07:00"}],"HeadCommit":{"Sha1":"7ad320a65b921c9d68a4ab48df81241998e64867","Message":"docs(决策): 写回 CHG-021 材料的 README——77aaf85 里存进去的那份不是本包内容\n\n事故与更正,如实记:本包 README 于 2026-09-19 01:53 写成,提交 77aaf85 于约 02:0x 落库;\n两者之间另一并行会话(九域/六域收编那条线)在同一路径写入了它自己的材料,而我提交前\n只核了文件名清单、没核文件内容,于是 77aaf85 存进去的是它的「CHG-021-C3-NINE-DOMAIN-MODULE-INTAKE」,\n本包的 README 从未真正入库。四份 delta 与 DEC-040 草案未被波及,一直是本包内容(changeId 均为\nCHG-021-HOSTED-MODULE-PROMOTION),可据以复核本文与它们是否一致。\n\n本次按本会话原稿写回,内容与四份 delta 逐项对齐,并补一节「与 CHG-022 的分工」:\n- CHG-021(本包)= C11 公共文件 / C12 通知与 Webhook / C13 配置与功能开关三条**有真实现与存量\n 消费者**的托管能力升格,要处理权威状态迁移、宿主改造与回切;\n- CHG-022 = 其余六个**零运行面**契约域(C15—C19 + C01)的收编。\n两包范围不重叠。编号维持现状:并行会话已自取 CHG-022 并在其材料里引用本包为 CHG-021,\n无须改号。\n\n链接自检:8 条相对链接逐条验在(含新增的 ../CHG-022-材料/README.md)。\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-19T02:21:58-07:00"},"CompareURL":"luoanwu/platform-governance/compare/cf82ac49afd4e6da0307bf0f0e1e255be6701bab...7ad320a65b921c9d68a4ab48df81241998e64867","Len":3}...
|
1789810066
|
Edit
Delete
|
|
31243
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8f5832b62 {"Commits":[{"Sha1":"8f5832b626a294a43810b2f6939e59e93a341283","Message":"chore(reports): deployed-runtime 回绑 @ 18e4661 —— 常驻容器跑的是 84ad650 的镜像\n\ncheck:deployed passed(IMAGE_SOURCE_EQUIVALENT:镜像源 84ad650 之后只有报告回绑提交,\n运行时输入未变);容器 a1fa232df8d1 healthy,环境键齐备。本份在开工前(3335f46)就已过期,\n本轮部署后在干净树上重出。\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-19T01:16:46-07:00"},{"Sha1":"18e4661c17b4e9f020648434a1f68e7b92ca71ff","Message":"chore(reports): 受实现提交影响的门禁回绑 @ a4ba565 —— 仓根三份 + runtime 十五份\n\n84ad650 改了 governance/build-workbench-snapshots.mjs 与 runtime/apps/workbench/src/**,\n落进 doc-claims / stub-surface / module-imports 与 runtime 侧治理报告的作用域,check:evidence\n判 4 处 error。按仓纪律在干净检出里重跑并带回:\n\n- reports:rebind --gates module-imports,doc-claims,stub-surface(三份均绑 a4ba565 / dirty=false,门禁 exit 0)\n- pnpm --dir runtime check:governance(聚合重写 runtime/reports 十五份,同样绑 a4ba565 / dirty=false)\n\ncheck:evidence 由 failed(12 过期 / 4 error)回到 partial(40 新鲜 / 6 过期 / 0 error)。\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-19T01:16:23-07:00"},{"Sha1":"a4ba565e6bd3d8c50f1653dd9c2a8f8c9f197273","Message":"chore(reports): 工作台两份快照回绑 @ ea622e4 —— 服务目录 21 → 19 条,范围外资产改列 excluded\n\n在干净树上重跑 workbench:snapshots(worktreeDirty=false):catalog 快照 schemaVersion 4、\nprojects=19、mapped=7/7、conflicts=0,excluded 两条(digital-employee-os / base-framework)\n各带 Catalog 里的排除理由;ops 快照同步回绑到已提交的镜像证据(84ad65070b94)。\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-19T01:12:50-07:00"},{"Sha1":"ea622e4d7f4c374a328cfe5501acbc353089a539","Message":"chore(reports): 镜像与冒烟回绑 @ 84ad650 —— 工作台投影收窄后重建并切换常驻运行时\n\n实现提交动了 runtime/apps/workbench/src/**(运行时镜像输入),镜像随之落后,按 runbook §9\n从 clean 提交重建:enterprise-platform/runtime:84ad65070b94(contextMode=head,worktreeDirty=false),\n冒烟 6/6(单 profile、Redis 逻辑库 15、:53009),常驻容器已 up -d --no-deps runtime 切换并 healthy,\ncheck:deployed passed(IMAGE_SOURCE_EQUIVALENT)。\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-19T01:12:22-07:00"},{"Sha1":"84ad65070b945071e0361644342d453b9575ec80","Message":"feat(governance): 服务目录只投影平台服务——范围外资产不进 entries、改列 excluded\n\n工作台服务目录此前把 Catalog 的 21 条全量投影出来,含 in_goal_scope=false 的两条排除资产\n(基础框架 base-framework、AI 数字员工 digital-employee-os),等于把用户明确排除的资产\n说成平台自己的服务。改为只投影 in_goal_scope !== false 的 19 条:\n\n- entries 收窄;被挡下的条目按 id / 名称 / 层 / 排除理由 / code_truth 列进新的顶层 excluded,\n 不静默消失。排除裁决的真源仍是 Catalog,本次不动 contracts/catalogs/platform-projects.json,\n classifyConsumption 也保留 excluded-asset 分类,只是那类条目不再投影。\n- counts.excludedFromProjection;schemaVersion 3 → 4(entries 含义从「Catalog 全量」收窄成\n 「平台服务」,按条目数做统计的消费者须回看)。\n- 新冲突规则 MODULE_MAPPED_TO_EXCLUDED_PROJECT:运行时模块若映射到范围外项目,单列冲突,\n 不被投影收窄盖成「模块没有 Catalog 项目」。\n- 工作台计数条首格「项目」改「服务」并加「范围外资产」一格;快照类型补 excluded,注释里的\n 条目数 21 → 19。\n\n治理单测 472 例 / 471 通过 / 0 失败 / 1 跳过(新增「排除资产不得进 entries、必须带理由进\nexcluded」与上述冲突规则两组断言);check:catalog / catalog:drift / check:candidate-contracts /\ncheck:stub-surface / check:doc-claims 均 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-19T01:10:32-07:00"}],"HeadCommit":{"Sha1":"8f5832b626a294a43810b2f6939e59e93a341283","Message":"chore(reports): deployed-runtime 回绑 @ 18e4661 —— 常驻容器跑的是 84ad650 的镜像\n\ncheck:deployed passed(IMAGE_SOURCE_EQUIVALENT:镜像源 84ad650 之后只有报告回绑提交,\n运行时输入未变);容器 a1fa232df8d1 healthy,环境键齐备。本份在开工前(3335f46)就已过期,\n本轮部署后在干净树上重出。\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-19T01:16:46-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/7021758cffa830beecc7c0af480bc1943a3e78e8...8f5832b626a294a43810b2f6939e59e93a341283","Len":8}...
|
1789807906
|
Edit
Delete
|
|
31242
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cf82ac49a {"Commits":[{"Sha1":"cf82ac49afd4e6da0307bf0f0e1e255be6701bab","Message":"docs(治理): workspace.json 补五层职责字段——层定义此前只在总架构图 PNG 里\n\nterminology.layers 每层加 responsibility,五句逐字取自根目录\n「AI 应用开发的企业应用群总架构图.png」的层图注。此前本文件只有\nterm / alias / directory / order,五层「是什么」没有任何机器口径,\n于是既无法被引用,也无法反驳把基础基座与基础框架压成一格\nBASE_ASSET / asset 的 Catalog 登记(platform-projects.json)。\n\n职责是应然口径,不是现状声明——该图已由\n平台治理/企业应用群总架构-2026-09-17.md §2.1 定性为愿景图并记了三处过期。\n平台治理不在图上,不给该字段(其原有 note 已说明)。\n\nnote 内一并记录两处现存措辞不一致,本提交不改它们:\n- 数字员工OS/README.md 首句作「运行时宿主,装载并串接……」,弱于图注的「运行与控制中枢」\n- 工程基础框架/README.md 标题自称「基础资产」而非层名\n另三层 README 首句与图注逐字一致。\n\n纯加法:唯一消费方 平台治理/基础/scripts/lib/domain-layer-core.mjs 的\nlayerIndex() 只读 directory / term,复算映射仍 6 条、取值未变。\n门禁 check-workspace-consistency.mjs --json → status=CLEAN / issues=0 / EXIT=0\n(14 仓 8371 文件 4493 链接,2026-09-19,工作区作用域)。\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-19T00:59:20-07:00"},{"Sha1":"4a9dad2c0559feeb66d3c74e4720e70d5bedf698","Message":"docs(治理): 门禁链 20 → 21 环——真源仓新增 check:stub-surface,并订正 pnpm test 两条跑法的已合口径\n\n- `pnpm check` 增第 12 环 `check:stub-surface`(真源仓 `6986527`):把「失败关闭的桩 /\n 只在登记里或只在测试夹具里装配 / 环境开关决定走哪条分支」三种未落地形态扫成清单,\n 34 条逐条登记在 `enterprise-platform/governance/stub-surface.json`(只写为什么还在,\n 清单本身由门禁从源码推导),并守住仓根 CLAUDE.md 对清单数字的声明。环数与序号跟着改:\n `pnpm test` 由第 15 环变第 16 环。\n- 订正同句尾巴:本条此前写「`pnpm test` 会改写 `reports/caddy.latest.json`,而设\n `GOV_REPORT_DIR` 规避又会让 12 个回读仓内报告路径的用例判红,两者互相抵消」。该状态已由\n 真源仓 `7021758` 合上——2026-09-19 在干净树上两条跑法各跑一遍实测:均 471 例\n 470 通过 / 0 失败 / 1 跳过,且不设 `GOV_REPORT_DIR` 时 `reports/` 一个字节不动。\n\n`node 平台治理/基础/scripts/check-workspace-consistency.mjs` 合计 0 条\n(14 个仓 / 8370 份受控文件,L4 断链 0 / L13 数字声明 0)。\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-19T00:30:44-07:00"}],"HeadCommit":{"Sha1":"cf82ac49afd4e6da0307bf0f0e1e255be6701bab","Message":"docs(治理): workspace.json 补五层职责字段——层定义此前只在总架构图 PNG 里\n\nterminology.layers 每层加 responsibility,五句逐字取自根目录\n「AI 应用开发的企业应用群总架构图.png」的层图注。此前本文件只有\nterm / alias / directory / order,五层「是什么」没有任何机器口径,\n于是既无法被引用,也无法反驳把基础基座与基础框架压成一格\nBASE_ASSET / asset 的 Catalog 登记(platform-projects.json)。\n\n职责是应然口径,不是现状声明——该图已由\n平台治理/企业应用群总架构-2026-09-17.md §2.1 定性为愿景图并记了三处过期。\n平台治理不在图上,不给该字段(其原有 note 已说明)。\n\nnote 内一并记录两处现存措辞不一致,本提交不改它们:\n- 数字员工OS/README.md 首句作「运行时宿主,装载并串接……」,弱于图注的「运行与控制中枢」\n- 工程基础框架/README.md 标题自称「基础资产」而非层名\n另三层 README 首句与图注逐字一致。\n\n纯加法:唯一消费方 平台治理/基础/scripts/lib/domain-layer-core.mjs 的\nlayerIndex() 只读 directory / term,复算映射仍 6 条、取值未变。\n门禁 check-workspace-consistency.mjs --json → status=CLEAN / issues=0 / EXIT=0\n(14 仓 8371 文件 4493 链接,2026-09-19,工作区作用域)。\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-19T00:59:20-07:00"},"CompareURL":"luoanwu/platform-governance/compare/7e11860ff60ecbcf1c10f1c0a578263f6e39e7b0...cf82ac49afd4e6da0307bf0f0e1e255be6701bab","Len":2}...
|
1789804817
|
Edit
Delete
|
|
31241
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/claude/laughing-rhodes-1236b1
|
0
|
{"Commits":[{"Sha1":"f8cebdaec {"Commits":[{"Sha1":"f8cebdaeca41316d8f1ea7745265ec8abf8311a3","Message":"docs(计划): §8 账本登记治理测试两条跑法合上(真源仓 7021758)\n\n收口上一行「松散端 A 组」那次留下的「一处新缺陷(已登记,未修)」:治理测试里 spawn\n门禁 CLI 的用例没把报告落盘目录钉死,于是不设 `GOV_REPORT_DIR` 跑会脏绑\n`reports/caddy.latest.json`、设了又让 12 个跑在临时沙箱里的用例判红。本轮逐个钉死,\n两条跑法实测都是 471 例 470 通过 / 0 失败 / 1 跳过,且不设变量那次跑前跑后\n`reports/*.json` 的 md5 逐份不变、`git status --porcelain` 为空。\n\n`企业控制面/CLAUDE.md` 那处 check 链描述不在本提交里:并行会话已在 `4a9dad2` 改过\n同一句,且连同它新增的 `stub-surface` 环写成了 21 环 / 第 16 环,比本会话按当前\n20 环写的那版更跟得上现状,故撤回自己那版,不制造同行冲突。\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-19T00:31:33-07:00"}],"HeadCommit":{"Sha1":"f8cebdaeca41316d8f1ea7745265ec8abf8311a3","Message":"docs(计划): §8 账本登记治理测试两条跑法合上(真源仓 7021758)\n\n收口上一行「松散端 A 组」那次留下的「一处新缺陷(已登记,未修)」:治理测试里 spawn\n门禁 CLI 的用例没把报告落盘目录钉死,于是不设 `GOV_REPORT_DIR` 跑会脏绑\n`reports/caddy.latest.json`、设了又让 12 个跑在临时沙箱里的用例判红。本轮逐个钉死,\n两条跑法实测都是 471 例 470 通过 / 0 失败 / 1 跳过,且不设变量那次跑前跑后\n`reports/*.json` 的 md5 逐份不变、`git status --porcelain` 为空。\n\n`企业控制面/CLAUDE.md` 那处 check 链描述不在本提交里:并行会话已在 `4a9dad2` 改过\n同一句,且连同它新增的 `stub-surface` 环写成了 21 环 / 第 16 环,比本会话按当前\n20 环写的那版更跟得上现状,故撤回自己那版,不制造同行冲突。\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-19T00:31:33-07:00"},"CompareURL":"luoanwu/platform-governance/compare/761786d97015a39c32fe8fb74680c9cdd3513fb8...f8cebdaeca41316d8f1ea7745265ec8abf8311a3","Len":1}...
|
1789803290
|
Edit
Delete
|
|
31240
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/claude/laughing-rhodes-1236b1
|
0
|
{"Commits":[{"Sha1":"761786d97 {"Commits":[{"Sha1":"761786d97015a39c32fe8fb74680c9cdd3513fb8","Message":"docs(计划): 登记治理测试两条跑法合上(真源仓 7021758),CLAUDE.md 那处坑改为已修\n\n- `企业控制面/CLAUDE.md` check 链描述:第 15 环 `pnpm test` 原先「不设 GOV_REPORT_DIR\n 会脏绑 reports/caddy.latest.json、设了又让 12 个用例判红、两者互相抵消」,改为已修,\n 并写明现在的判据(两条跑法都 0 失败、不设变量跑完 reports/ 一份不改写)与\n `report-clobber.test.mjs` 现存的唯一一条具名豁免。\n- `平台治理/基础设施文档/开发计划.md` §8 账本增一行,收口上一行「松散端 A 组」那次\n 留下的「一处新缺陷(已登记,未修)」。\n\n**与并行会话重叠一处**:同一句 CLAUDE.md 描述,并行会话在主检出的工作树里已另改过一版\n(连同它新增的 `stub-surface` 环,链写成 21 环、`pnpm test` 前移为第 16 环)。那版此刻\n尚未提交,且它描述的门禁在仓里还是未跟踪文件,所以本提交按**当前已提交状态**写(20 环 /\n第 15 环)。两版说的是同一件事,合并时取环数与新增门禁都对得上的那版即可。\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-19T00:31:33-07:00"}],"HeadCommit":{"Sha1":"761786d97015a39c32fe8fb74680c9cdd3513fb8","Message":"docs(计划): 登记治理测试两条跑法合上(真源仓 7021758),CLAUDE.md 那处坑改为已修\n\n- `企业控制面/CLAUDE.md` check 链描述:第 15 环 `pnpm test` 原先「不设 GOV_REPORT_DIR\n 会脏绑 reports/caddy.latest.json、设了又让 12 个用例判红、两者互相抵消」,改为已修,\n 并写明现在的判据(两条跑法都 0 失败、不设变量跑完 reports/ 一份不改写)与\n `report-clobber.test.mjs` 现存的唯一一条具名豁免。\n- `平台治理/基础设施文档/开发计划.md` §8 账本增一行,收口上一行「松散端 A 组」那次\n 留下的「一处新缺陷(已登记,未修)」。\n\n**与并行会话重叠一处**:同一句 CLAUDE.md 描述,并行会话在主检出的工作树里已另改过一版\n(连同它新增的 `stub-surface` 环,链写成 21 环、`pnpm test` 前移为第 16 环)。那版此刻\n尚未提交,且它描述的门禁在仓里还是未跟踪文件,所以本提交按**当前已提交状态**写(20 环 /\n第 15 环)。两版说的是同一件事,合并时取环数与新增门禁都对得上的那版即可。\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-19T00:31:33-07:00"},"CompareURL":"luoanwu/platform-governance/compare/7e11860ff60ecbcf1c10f1c0a578263f6e39e7b0...761786d97015a39c32fe8fb74680c9cdd3513fb8","Len":1}...
|
1789803105
|
Edit
Delete
|
|
31239
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/claude/laughing-rhodes-1236b1
|
0
|
|
1789803105
|
Edit
Delete
|
|
31238
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7021758cf {"Commits":[{"Sha1":"7021758cffa830beecc7c0af480bc1943a3e78e8","Message":"fix(governance): 治理测试两条跑法合上——不设 GOV_REPORT_DIR 不再污染 reports/,设了也不再判红\n\n2026-09-19 实测的坑:根 `pnpm check` 第 15 环 `pnpm test` 两条路都不干净。\n- 不设 `GOV_REPORT_DIR`:449 例全过,但 `check-caddy.test.mjs` 就地重写\n `reports/caddy.latest.json`(它是 `report-clobber.test.mjs` 里唯一的具名豁免),\n 跑完整条链必然留一份脏绑报告,要靠操作者记得 `git checkout --` 它。\n- 设了 `GOV_REPORT_DIR`:12 个用例判红。它们把门禁 CLI 跑在**临时沙箱**里\n (catalog-drift 的临时检出、evidence 的临时 git 仓、fixtures 的 `--root`),\n 子进程继承了外部这个变量,报告落到沙箱外,用例按沙箱路径回读就读不到。\n\n两头都是同一件事没做:spawn 门禁时没把报告目录钉死。逐个钉:\n\n| 文件 | 钉到哪 |\n|---|---|\n| check-caddy | 临时 `gov-report-*`(解除具名豁免,与另四支 check-* 同款) |\n| check-catalog-drift | `\u003c临时检出\u003e/reports` |\n| check-evidence-freshness | `\u003c临时 git 仓\u003e/reports` |\n| fixture-integrity / platform-fixtures / cli | `\u003c沙箱 --root\u003e/reports` |\n| port-conformance | 进程内调门禁,`process.env` 上钉一次再还原 |\n\n`deployed-runtime.test.mjs` 反着来:它断言的就是「默认不落盘」,故显式 `delete`\n掉外部的 `GOV_REPORT_DIR`——否则报告被重定向走,仓里那份自然不动,断言成空转。\n它继续留在 `CLOBBER_EXEMPT`(现在是唯一一条,理由与解除条件已按这个新事实改写)。\n\n`report-clobber.test.mjs` 同时补两处扫描漏洞:原来只认字面量 `governance/check-*.mjs`\n(漏掉按相对路径与 `bin/cli.mjs` spawn 的 5 个文件),且只要提一嘴变量名就放行\n(`delete` 做的是相反的事)。现在按 `check-*.mjs|cli.mjs` 认,且要求写成赋值形式。\n扫不到的一类(进程内直接调门禁函数)在注释里写明。\n\n出口判据实测:\n- `GOV_REPORT_DIR=\u003ctmp\u003e node --test governance/test/*.test.mjs` → 471 例 470 过 0 失败;\n- 不设变量跑同一套 → 同样 0 失败,且跑前跑后 `reports/*.json` 的 md5 逐份不变、\n `git status --porcelain` 无新增(树上其余脏文件属并行会话)。\n\n无 `chore(reports)` 回绑:本次改动全在 `governance/test/` 下,46 条证据作用域没有一条覆盖它,\n`check:evidence` 的判词不因本提交改变。\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-19T00:26:15-07:00"}],"HeadCommit":{"Sha1":"7021758cffa830beecc7c0af480bc1943a3e78e8","Message":"fix(governance): 治理测试两条跑法合上——不设 GOV_REPORT_DIR 不再污染 reports/,设了也不再判红\n\n2026-09-19 实测的坑:根 `pnpm check` 第 15 环 `pnpm test` 两条路都不干净。\n- 不设 `GOV_REPORT_DIR`:449 例全过,但 `check-caddy.test.mjs` 就地重写\n `reports/caddy.latest.json`(它是 `report-clobber.test.mjs` 里唯一的具名豁免),\n 跑完整条链必然留一份脏绑报告,要靠操作者记得 `git checkout --` 它。\n- 设了 `GOV_REPORT_DIR`:12 个用例判红。它们把门禁 CLI 跑在**临时沙箱**里\n (catalog-drift 的临时检出、evidence 的临时 git 仓、fixtures 的 `--root`),\n 子进程继承了外部这个变量,报告落到沙箱外,用例按沙箱路径回读就读不到。\n\n两头都是同一件事没做:spawn 门禁时没把报告目录钉死。逐个钉:\n\n| 文件 | 钉到哪 |\n|---|---|\n| check-caddy | 临时 `gov-report-*`(解除具名豁免,与另四支 check-* 同款) |\n| check-catalog-drift | `\u003c临时检出\u003e/reports` |\n| check-evidence-freshness | `\u003c临时 git 仓\u003e/reports` |\n| fixture-integrity / platform-fixtures / cli | `\u003c沙箱 --root\u003e/reports` |\n| port-conformance | 进程内调门禁,`process.env` 上钉一次再还原 |\n\n`deployed-runtime.test.mjs` 反着来:它断言的就是「默认不落盘」,故显式 `delete`\n掉外部的 `GOV_REPORT_DIR`——否则报告被重定向走,仓里那份自然不动,断言成空转。\n它继续留在 `CLOBBER_EXEMPT`(现在是唯一一条,理由与解除条件已按这个新事实改写)。\n\n`report-clobber.test.mjs` 同时补两处扫描漏洞:原来只认字面量 `governance/check-*.mjs`\n(漏掉按相对路径与 `bin/cli.mjs` spawn 的 5 个文件),且只要提一嘴变量名就放行\n(`delete` 做的是相反的事)。现在按 `check-*.mjs|cli.mjs` 认,且要求写成赋值形式。\n扫不到的一类(进程内直接调门禁函数)在注释里写明。\n\n出口判据实测:\n- `GOV_REPORT_DIR=\u003ctmp\u003e node --test governance/test/*.test.mjs` → 471 例 470 过 0 失败;\n- 不设变量跑同一套 → 同样 0 失败,且跑前跑后 `reports/*.json` 的 md5 逐份不变、\n `git status --porcelain` 无新增(树上其余脏文件属并行会话)。\n\n无 `chore(reports)` 回绑:本次改动全在 `governance/test/` 下,46 条证据作用域没有一条覆盖它,\n`check:evidence` 的判词不因本提交改变。\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-19T00:26:15-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/623a58d184232de4493761b6612202abae6561c0...7021758cffa830beecc7c0af480bc1943a3e78e8","Len":1}...
|
1789802791
|
Edit
Delete
|
|
31237
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7e11860ff {"Commits":[{"Sha1":"7e11860ff60ecbcf1c10f1c0a578263f6e39e7b0","Message":"docs(计划): 镜像落后数三处更新到收尾实测 53(23:20 量到的 41 已被本会话自己的 12 个提交推开)\n\n这个数随本仓每个提交增长,三处都已写明「引用前必重测」。\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-19T00:13:51-07:00"}],"HeadCommit":{"Sha1":"7e11860ff60ecbcf1c10f1c0a578263f6e39e7b0","Message":"docs(计划): 镜像落后数三处更新到收尾实测 53(23:20 量到的 41 已被本会话自己的 12 个提交推开)\n\n这个数随本仓每个提交增长,三处都已写明「引用前必重测」。\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-19T00:13:51-07:00"},"CompareURL":"luoanwu/platform-governance/compare/705fb456d585cf4825078b6af0e2ef9d41ecd5f5...7e11860ff60ecbcf1c10f1c0a578263f6e39e7b0","Len":1}...
|
1789802036
|
Edit
Delete
|
|
31236
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"623a58d18 {"Commits":[{"Sha1":"623a58d184232de4493761b6612202abae6561c0","Message":"chore(reports): evidence-freshness 回绑 @ 3be0bb7 —— 41 份新鲜 / 4 份过期 / 0 error\n\n余 4 条告警都要真实底座或镜像:sbom、runtime-acceptance、ui-acceptance、deployed-runtime。\nmainline-acceptance 随 A15 的六套件重跑已转新鲜。\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-19T00:06:02-07:00"},{"Sha1":"3be0bb7a8ae0ccbecf762475be4425a7eced5038","Message":"chore(reports): 工作台两份快照 / doc-claims / caddy / otel 回绑 @ 5ef56d0\n\n两件事各一半:\n- 并行会话的 `bd2a5c3` 改了 `docs/runbook.md`,它在 workbench-ops-snapshot 的作用域里,\n `check:evidence` 因此判其过期(本轮唯一一条 error)。\n- 本会话把 `docs/runbook.md` / `README.md` / `reports/otel.latest.json` 加进了 doc-claims\n 的作用域,该报告随之要重绑。\n\ncaddy / otel 一并带上(同一次干净检出里顺手跑,判词不变)。四份全部 dirty=false。\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-19T00:05:43-07:00"},{"Sha1":"5ef56d011b28e1000e575b67d354594f53249039","Message":"chore(reports): mainline-acceptance 与 revocation-sla 回绑 @ 51f100b —— 首份六套件 72 例\n\nA15 接线后首次在干净树上跑完整主线(专用 Broker `enterprise-platform-ms23-redpanda-1`\n:59093 + 6 个隔离库,全部非超级用户角色):\n\n| 套件 | 例数 |\n|---|---|\n| fact-read-http | 11 |\n| fact-persistence | 17 |\n| audit-tamper | 19 |\n| mainline-revocation-chaos | 18 |\n| **permission-ops**(新) | **2** |\n| **ai-route-persistence**(新) | **5** |\n\n合计 72 例、0 失败、0 skipped/todo,`validateMainlineReport` 通过。revocation-sla 仍\n`partial`:cacheBound 与 invalidationPush 各 20 个真实样本,后者的传输仍是 test-harness\nledger poll,生产传输未接线——定性不变。\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-19T00:05:16-07:00"},{"Sha1":"51f100b42bb2cb89db3609bf69f88835c26aa236","Message":"feat(governance): 两支无门禁消费的 integration 套件接进主线(A15),并补齐 A14 的作用域\n\n**缺口**:四个模块有 `vitest.integration.config.ts`,但 `check-mainline.mjs` 只消费 fact 与\naudit 两支;`permission` 的 `ops.integration.ts`(OPS-1 受控命令 permission.invalidation 的\n真实库验收)与 `ai-gateway` 的 `persistence.integration.ts`(ai-route 权威账本)**没有任何\n门禁消费**,只能靠人手工 `pnpm test:integration`——写了验收却没有任何东西会在它坏掉时叫。\n\n- `check-mainline.mjs` 增两支套件:`permission-ops`、`ai-route-persistence`。它们要的正是\n 本文件已经在准备的那套隔离库,接进来不需要新底座。\n- `lib/mainline-evidence.mjs` 登记地板(按首次隔离库实测,非超级用户角色):2 例 / 5 例。\n 该表同时供 runner 与 `verify:candidate` 使用,`validateMainlineReport` 要求套件数与本表\n 一致——所以「接线」和「候选可晋级核验」是同一件事,不会只改一半。\n- `prepare-mainline.mjs` 增 `aigateway` 一档:`platform_aigateway_ms23` 此前不存在(只有 dev\n 库),ai-gateway 的 integration 套件因此在任何隔离环境里都跑不起来。顺带修一处会绊下一个\n 人的坑——**库名的 kind 与模块目录名不总是同一个词**(`aigateway` ↔ `ai-gateway`),改为显式\n `moduleDir` 映射,不靠字符串等同。\n- `evidence-scopes.json` 补 A14 漏的一半:`doc-claims` 的 scope 加 `README.md`、\n `docs/runbook.md`、`reports/otel.latest.json`。扩了扫描面却没扩作用域,等于那三处一变\n 本报告也不会被判过期。\n\n**实测**(`enterprise-platform-ms23` 专用 Broker :59093 + 6 个隔离库,非超级用户):\n六套件全过 11 / 17 / 19 / 18 / **2** / **5** = 72 例,`mainline:check` 退出 0,\n`validateMainlineReport` 通过。报告回绑另起提交(本次运行时工作树是脏的)。\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-19T00:02:22-07:00"},{"Sha1":"bd2a5c39496b0dda12afc98c321119609780f519","Message":"docs(运维): runbook 补工作台「缺配置」的形态判别与入口形态登录的三道坎\n\n入口托管产物按约定摘掉 .env.local 构建,两个 NEXT_PUBLIC_WORKBENCH_* 一起\n没进产物,登录页显示「缺配置」是这份产物的预期结果、不是漏配;写清判形态\n的办法,并点明不该靠「带着 .env.local 重建」去修(那是拿同源形态换登录页)。\n\n入口形态的登录补配置也修不通:构建带变量、补登记入口 origin 回调都可做,\n但换令牌必失败——常驻容器 NODE_ENV=production 而 loadLocalSigningKey 只认\ntest / development,且容器 IDP_CANONICAL_ORIGIN=http://localhost:3098 使入口\n上取到的 discovery issuer 与端点全指 :3098。结论落在等目标环境的真签名源,\n并明写把容器降成 development 是安全面倒退。\n\n同段末句「在那之前不要把工作台挂到网关根路径」已被 426a7df 落地的同源托管与\nforward_auth 超越,改为陈述现状,免得与新段自相矛盾。\n\ncheck:doc-claims ✓(报告经 GOV_REPORT_DIR 导出仓外,仓内 reports/ 未改);\n工作区根 check-workspace-consistency.mjs CLEAN。\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-18T23:53:37-07:00"}],"HeadCommit":{"Sha1":"623a58d184232de4493761b6612202abae6561c0","Message":"chore(reports): evidence-freshness 回绑 @ 3be0bb7 —— 41 份新鲜 / 4 份过期 / 0 error\n\n余 4 条告警都要真实底座或镜像:sbom、runtime-acceptance、ui-acceptance、deployed-runtime。\nmainline-acceptance 随 A15 的六套件重跑已转新鲜。\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-19T00:06:02-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/928345d27ed7ade91e7257238a55e64e9f9c6fad...623a58d184232de4493761b6612202abae6561c0","Len":13}...
|
1789801729
|
Edit
Delete
|
|
31235
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"705fb456d {"Commits":[{"Sha1":"705fb456d585cf4825078b6af0e2ef9d41ecd5f5","Message":"docs(计划): 登记本会话——松散端 A 组 16 条全部做完,并附三处清单口径更正与一处新缺陷\n\n- §1 两行按当天实测改:运行证据行的 mainline 由四套件改**六套件 72 例**(A15 新接的\n permission-ops 2 / ai-route-persistence 5)、绑定改 `51f100b`、治理测试 444 → 449;\n 证据新鲜度行原写「35 份全部新鲜、0 过期 / 0 告警」,**与实测差得远**(开工时是 5 error\n + 14 warning),整行改为 `partial @ 3be0bb7`(45 份 / 41 新鲜 / 4 过期 / 0 error)并写清\n 收口过程与余下 4 条为何还在。\n- §8 账本增当天一行:A1—A16 逐项做法与实测出口、三处清单本身给错的口径(Prometheus\n 端口与无 lifecycle 标志、陈旧 worktree 属治理仓、reports:rebind 的覆盖面)、一处新查出\n 的缺陷(`pnpm test` 与 `GOV_REPORT_DIR` 互相抵消,没有一种跑法既不污染又全绿),以及\n B1—B11 十一项待裁的归属与本轮各做到哪一步。\n\n一致性门禁 CLEAN,`prunableWorktrees` 归零。\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-19T00:08:42-07:00"},{"Sha1":"f2e130d38b5a8ae5d7f18d7a717bf1fb89f02b08","Message":"docs(数字): 文档订正第三批(治理层侧)—— §1 的五处报告绑定全不对,并修三个数\n\n按各报告 `provenance.gitSha` 逐份实测,§1「运行 / UI 证据」一行原先**五处绑定全不对**:\n\n| 报告 | 原写 | 实测 |\n|---|---|---|\n| runtime-acceptance | `765300b` | `8a621fd` |\n| ui-acceptance | `003aadd` | `67e8193` |\n| mainline-acceptance | `bc978a8` | `8a621fd` |\n| mainline-restore | `bc978a8` | `765300b` |\n| identity-ui | `828f178` | `46265a6` |\n\n五份 `worktreeDirty` 均 false;用例数(775 / 5·1 / 11·17·19·18 / 3 库 / 2)逐份核对无误,\n错的只是绑定——而绑定正是「这个结论由哪个提交支撑」的唯一定位手段。\n\n另修三个数:\n- `check:fixtures` 17 套件 **189 例 → 702 例**(这条现已有 `check:doc-claims` 机器守);\n- 治理测试 **277/277 → 444(443 通过 / 1 skipped)**;\n- 撤权 SLA cacheBound p95 **5042 ms → 5027.7 ms**(invalidationPush 122 ms 与其\n `measured-with-harness-transport` 的定性无误,不动);\n- Release Manifest 绑定 `71b306f` → `2e06b92`(本日重跑回绑;缺 6 项不变)。\n\n一致性门禁 CLEAN。\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-18T23:32:28-07:00"},{"Sha1":"aa8550683e912d5442a0e8248915ccdb95a36f10","Message":"docs(事实): 文档订正第二批(治理层侧)—— 镜像落后数、「分叉」定性、worktree 与 check 链描述\n\n- 开发计划三处镜像声明:「落后 Gitea 245 个提交」→ **41 个提交**(`github/main` =\n `51e311b`,2026-09-18 23:20 实测)。§1 仓与远端一行整行重写:本地 main = Gitea\n `origin/main` = `12bed2f`、0 个未推提交;本地分支 46 条(含 main),其中 30 条领先\n main、15 条已被 main 完全吸收。\n- §8「两远端分叉扩大」**定性也错了**:GitHub 侧 0 个独有提交,不是分叉,是纯落后;\n 同条里「直推已实证不可行」也已不成立(分支保护其间消失)。三处一并订正并留痕。\n- `企业控制面/CLAUDE.md` 两处:① `.worktrees/` 实测是**两条**(security-governance-hardening\n + docs/registry-blueprint-record),另有一条在本目录之外的 `/private/tmp/ep-delivery-20260917`,\n 并写明权威口径是 `git worktree list` 而不是本表;② 仓根 `pnpm check` 由「静态门禁链」\n 改为逐环列出的 **20 环**,并记下本会话实测到的坑——第 15 环 `pnpm test` 会改写\n `reports/caddy.latest.json`,而用 `GOV_REPORT_DIR` 规避改写又会让 12 个回读仓内报告\n 路径的用例判红,两者互相抵消,跑完整链后须 `git status` 看一眼。\n\n一致性门禁 CLEAN(4491 条链接)。\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-18T23:27:24-07:00"},{"Sha1":"e707f1df114df1b3eaeaa8731fd21efe9354933f","Message":"docs(状态): 文档订正第一批(治理层侧)—— ai-gateway 档位、工作台交付 ② 状态、A-7 事实数\n\n与真源仓同批(见 enterprise-platform 同日提交):\n\n- `企业控制面/README.md` AI 与集成行:`ai-gateway` 模块 `state=shape` → `authority`\n (2026-09-17 `ai-route.v1` 第一批转权威账本)。\n- 开发计划 §状态行、交付五步行、领取队列 ④ 三处:工作台交付 ② 由「▶ 可开工」改为\n 「🟡 进行中」。理由是实测——WB-1 脚手架、目录读面、受控执行面第一条、同源托管 +\n 入口 forward_auth、服务目录环境列探针均已落,**未闭合的是阶段 ② 验收本身**\n (目标环境四页 + `check:deployed`)。原写法会让读者以为一行代码都还没写。\n- 基础设施文档 README 的开发计划摘要同步(「前置只余 OPS-3 第一条」已不成立)。\n- 决策批次-2026-09-16 A-7:`check:facts` 登记 1 / 候选 15 是裁决当时的盘面,保留历史\n 取值并标注 2026-09-18 实测的 11 / 5。\n\n一致性门禁 CLEAN。\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-18T23:23:51-07:00"},{"Sha1":"a5d023f2ee1eb81503166218eceece073ab2e2bb","Message":"docs(计划): 并回陈旧 worktree 独有的「第四处同病」账本行,并补上一提交漏改的 L13 收纳数\n\n- A6:`claude/zealous-tu-6f0fca` 这个 worktree 挂在盘上两天,相对 main 只有一条独有内容——\n 开发计划.md 里「第四处同病」那条账本行(revocation-sla 的报告由用例自己在 beforeAll 起手\n 无条件写 failed,adda76a 的 runner 侧修复没覆盖到;同日已修 08c3788)。手工插回它自称的\n 位置(「本表上一条」= 验收 runner 三处同病那条,按最新在上的表序即其正上方),而不是\n cherry-pick:该分支另有 6 行是 main 早已推进过的旧版本,整条并回会把状态倒退。\n- 同时修掉上一提交(ea1054c)漏掉的一处:CHG-020 材料 5 个文件进仓后,\n `平台治理/README.md` 收纳表的 `doc/` 数没跟着改,一致性门禁 L13 判 GOVERNANCE_COUNT_DRIFT\n (声明 149 / 实为 154)。已改 154,并把材料区间写到 CHG-001~020。门禁复跑 CLEAN。\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-18T23:10:48-07:00"}],"HeadCommit":{"Sha1":"705fb456d585cf4825078b6af0e2ef9d41ecd5f5","Message":"docs(计划): 登记本会话——松散端 A 组 16 条全部做完,并附三处清单口径更正与一处新缺陷\n\n- §1 两行按当天实测改:运行证据行的 mainline 由四套件改**六套件 72 例**(A15 新接的\n permission-ops 2 / ai-route-persistence 5)、绑定改 `51f100b`、治理测试 444 → 449;\n 证据新鲜度行原写「35 份全部新鲜、0 过期 / 0 告警」,**与实测差得远**(开工时是 5 error\n + 14 warning),整行改为 `partial @ 3be0bb7`(45 份 / 41 新鲜 / 4 过期 / 0 error)并写清\n 收口过程与余下 4 条为何还在。\n- §8 账本增当天一行:A1—A16 逐项做法与实测出口、三处清单本身给错的口径(Prometheus\n 端口与无 lifecycle 标志、陈旧 worktree 属治理仓、reports:rebind 的覆盖面)、一处新查出\n 的缺陷(`pnpm test` 与 `GOV_REPORT_DIR` 互相抵消,没有一种跑法既不污染又全绿),以及\n B1—B11 十一项待裁的归属与本轮各做到哪一步。\n\n一致性门禁 CLEAN,`prunableWorktrees` 归零。\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-19T00:08:42-07:00"},"CompareURL":"luoanwu/platform-governance/compare/ea1054cc672f778229bd51b5c4327884a98b9236...705fb456d585cf4825078b6af0e2ef9d41ecd5f5","Len":5}...
|
1789801725
|
Edit
Delete
|
|
31234
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ea1054cc6 {"Commits":[{"Sha1":"ea1054cc672f778229bd51b5c4327884a98b9236","Message":"docs(决策): CHG-020 材料成稿 + 采纳形态对照 §5.6 收口 G-10 @ 0ec2442\n\n- 采纳形态覆盖度对照增 §5.6:「采纳的组件自身不在被观测面内」此前在 G-1…G-9 的对照表里\n 没有位置——那张表问的是原规则的判定有没有被承接,没问承接方自己看得见吗。Collector\n 是被观测的(Prometheus 回抓 :8888 + 三条告警),Caddy 完全在外面。trace / metrics /\n logs 三面同日关闭,实现与实测在真源仓 0ec2442 / 72df024。\n- 开发计划:候选 OpenAPI 6 → 11 份(2026-09-18 增五份宿主契约)、CHG-020 进「材料已成\n 待签署」行、新增 G-16 行(契约登记面的门禁覆盖)、裁决队列 ③ a 项加 CHG-020 并注明\n 签署前先答其 §0 的方向题(偏差 #39)。\n- CHG-020 材料五份:四份宿主契约由候选转正式登记,含门禁扩面(check:candidate-contracts\n 扫两目录 + 反向规则 REGISTERED_STILL_PENDING)。本包未改动任何文件,§0 挂着一处\n blocked_by 方向循环待 Catalog Owner 定口径:签收单侧写「先登记后签收」,五份候选的\n x-enterprise-blocked-by 写的是「先签收后登记」。\n\n一致性门禁 CLEAN(本次提交前实测)。\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:55:09-07:00"}],"HeadCommit":{"Sha1":"ea1054cc672f778229bd51b5c4327884a98b9236","Message":"docs(决策): CHG-020 材料成稿 + 采纳形态对照 §5.6 收口 G-10 @ 0ec2442\n\n- 采纳形态覆盖度对照增 §5.6:「采纳的组件自身不在被观测面内」此前在 G-1…G-9 的对照表里\n 没有位置——那张表问的是原规则的判定有没有被承接,没问承接方自己看得见吗。Collector\n 是被观测的(Prometheus 回抓 :8888 + 三条告警),Caddy 完全在外面。trace / metrics /\n logs 三面同日关闭,实现与实测在真源仓 0ec2442 / 72df024。\n- 开发计划:候选 OpenAPI 6 → 11 份(2026-09-18 增五份宿主契约)、CHG-020 进「材料已成\n 待签署」行、新增 G-16 行(契约登记面的门禁覆盖)、裁决队列 ③ a 项加 CHG-020 并注明\n 签署前先答其 §0 的方向题(偏差 #39)。\n- CHG-020 材料五份:四份宿主契约由候选转正式登记,含门禁扩面(check:candidate-contracts\n 扫两目录 + 反向规则 REGISTERED_STILL_PENDING)。本包未改动任何文件,§0 挂着一处\n blocked_by 方向循环待 Catalog Owner 定口径:签收单侧写「先登记后签收」,五份候选的\n x-enterprise-blocked-by 写的是「先签收后登记」。\n\n一致性门禁 CLEAN(本次提交前实测)。\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:55:09-07:00"},"CompareURL":"luoanwu/platform-governance/compare/078af5fc66585384df768683780239154d06dc7b...ea1054cc672f778229bd51b5c4327884a98b9236","Len":1}...
|
1789798059
|
Edit
Delete
|
|
31233
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"928345d27 {"Commits":[{"Sha1":"928345d27ed7ade91e7257238a55e64e9f9c6fad","Message":"chore(reports): evidence-freshness 回绑 —— 45 份已登记 / 40 份新鲜 / 5 份过期 / 0 error\n\n余下 5 条告警都要真实底座或镜像:sbom、runtime-acceptance、ui-acceptance、\nmainline-acceptance、deployed-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-18T23:02:49-07:00"},{"Sha1":"be810fc355f9fdb4949343677ce6769bb61d7459","Message":"chore(reports): port-conformance 与 release-manifest 回绑 @ 2e06b92 —— 过期告警 7 → 5\n\n- port-conformance:3 个套件 passed(此前绑 e3b9d12,作用域内已 19 个文件变更)。\n- release-manifest:status 仍非 complete,缺项 6 条且逐条有出口——4 个客户端包未建(CL-1…7)、\n images.runtime.digest(镜像绑 b90d7a1 ≠ 当前 HEAD,须重建)、registryDigest(只有本机构建\n 证据)、images.stack.* 1 个镜像未按 digest 锁定(PF-05 / PF-23)、sbom、signature。\n 结论与此前一致,变的是绑定与「镜像落后几个提交」这一项的实测值。\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-18T23:02:47-07:00"},{"Sha1":"2e06b9267b4aaa1ebfbd1e1329f61d2c717c587e","Message":"chore(reports): runtime 静态门禁 18 份回绑 @ 808740f —— 过期告警 13 → 7\n\n跑一次 `pnpm --dir runtime check`(EXIT 0,链上 17 条判词全绿)后,runtime/reports 下\n18 份报告全部重写并绑 808740f / dirty=false。其中 7 份此前是 check:evidence 的\nEVIDENCE_STALE 告警:agent-adapters、docs-truth、dual-backend-parity、fork-readiness、\ngovernance-docs、naming、runtime-governance。\n\ncheck:evidence:45 份已登记 / 38 份新鲜 / 7 份过期 / 0 error。余下 7 条告警都要真实底座、\n容器或镜像才能重跑,不在本批范围:release-manifest、sbom、port-conformance、\nruntime-acceptance、ui-acceptance、mainline-acceptance、deployed-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-18T23:01:20-07:00"},{"Sha1":"808740f25add20c3e449cfde913d31ab6715a297","Message":"chore(reports): evidence-freshness 回绑 @ d7c1e0a —— error 清零(5 → 0),余 13 条 warning\n\nA7 出口达成:check:evidence 退出 0、status=partial、error 0 条(45 份已登记 / 32 份新鲜 /\n13 份过期 / 0 份输入未提交 / 0 份无有效绑定 / 0 份例外)。\n\n余下 13 条一律 warning,且都要真实底座或容器才能重跑,不在本批范围:\nruntime-acceptance / ui-acceptance / mainline-acceptance / naming / fork-readiness /\ndual-backend-parity / governance-docs / docs-truth / agent-adapters / port-conformance /\ndeployed-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-18T22:57:41-07:00"},{"Sha1":"d7c1e0a589f538b720c6fdfda14bbc7bff241c79","Message":"chore(reports): 夹具两份从脏绑改为干净回绑 @ 408d344\n\n两份此前绑在脏树 6fbebf5 上却被提交,check:evidence 因此判 EVIDENCE_BOUND_DIRTY\n(severity=error)。在干净树重跑(需构建产物,不在 reports:rebind 的范围内,\n故直接在主工作区跑):\n\n- check:fixtures 17 套件 702 例 0 失败 0 不可用,与脏绑那次逐项一致;\n- check:fixture-coverage 15 个套件、未接线 0 处、都没有 0 条。\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:57:15-07:00"}],"HeadCommit":{"Sha1":"928345d27ed7ade91e7257238a55e64e9f9c6fad","Message":"chore(reports): evidence-freshness 回绑 —— 45 份已登记 / 40 份新鲜 / 5 份过期 / 0 error\n\n余下 5 条告警都要真实底座或镜像:sbom、runtime-acceptance、ui-acceptance、\nmainline-acceptance、deployed-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-18T23:02:49-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/6fbebf5285a9a335410c5f884d81314d0394429c...928345d27ed7ade91e7257238a55e64e9f9c6fad","Len":11}...
|
1789798036
|
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
|
|
31230
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"078af5fc6 {"Commits":[{"Sha1":"078af5fc66585384df768683780239154d06dc7b","Message":"docs(计划): 登记本会话——C-3 宿主协议签收面首次有落点,并附三处自查出的自造缺陷\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:41:03-07:00"},{"Sha1":"c777303990ce57b7b331c10c8d135b455238797a","Message":"docs(基础): 开发环境.md 重写到 2026-09-18 实测——修掉两条已不成立的声明并补端口盘\n\n原文停在 2026-09-04,两条声明已不成立:\n- 「派生仓现存 3 个」——派生仓状态.json 实为 active 0 / archived 0 / missing 1 / retired 18;\n- 路径 `AI数字员工/digital-employee-os` 不存在,实为 `数字员工OS/digital-employee-os`。\n\n补上原文完全没有的本机端口盘(41 个运行容器 / 6 个栈):enterprise-platform-stack\nPG 55470 / Redis 56379 / runtime 53001 / Caddy 58080,ep-delivery-20260917 PG 55481,\nbase-framework PG 5432 / Redis 6379,hi-atelier,deos-local-verify,deos-acceptance-redis 6404。\n新增 §4 工作区一致性门禁一节(当日 CLEAN,14 仓 / 8346 文件 / 4462 链接 / 22 份 compose)。\n\n§5 已知差异按当日实测重写:\n- deos-local-verify 栈不完整——gateway 的 nginx 找不到上游 api-active(该栈无 api 容器),\n 已连续重启 2946 次,当日 docker stop 停下,容器保留可 start 恢复;根因属 OS 层未查。\n- base-framework-app 容器已不存在,当日随 73 个死容器清理,原文那条「看 3500—3502」作废。\n- 7 个上层应用仓仍无 F14 守卫,compose 身份复发只能靠工作区 L9 兜住。\n\n文内每条命令均当场复核过输出与文中声明一致;旧版两条错误声明与初始化经过移入文末「历史记录」,\n不删除。门禁 check-workspace-consistency.mjs 重写后仍 CLEAN(exit 0 / 0 issues)。\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:17:52-07:00"},{"Sha1":"c894b8ce4445a7e939a0a8d5022dfb526aa3f1a5","Message":"docs(决策): N-11 关闭——七个仓补齐 compose 身份,L9 转 CLEAN,并更正两处前置\n\n选项 ① 已执行:七个仓的 apps/api-nestjs/docker-compose.yml 各补\n`name: ${COMPOSE_PROJECT_NAME:-\u003c本仓 package.json name\u003e}`,各仓本地提交(未推远端)。\ndocker compose config 逐份实测 project 名互不相同、卷已变为 \u003cname\u003e_*;\ncheck-workspace-consistency.mjs 由 ISSUES 转 CLEAN(exit 0 / 0 issues)。\n\n两处更正写进条目:\n- 数量是 7 个仓不是 8 个。09-17 清单里的数字员工OS 此后已自行补上 name:,本轮不在名单内。\n- 本条一直把「共用卷里的数据归谁」列为选 ①/② 的前置,实测**该前置是空的**:\n 本机 260 个卷无任何 api-nestjs_*,project=api-nestjs 零命中,这七份 compose 在本机\n 从未以默认推导名起过;已存在的 juhai-knowledge-cloud / juhai-quotation 两个 project 的\n config_files 指向工作区外的另一棵树,与本条无关。故零数据迁移,且该结论只绑本机。\n\n未随本条关闭:选项 ② 的防复发半边。七个仓仍无 F14 守卫,仓内 pnpm check 在冲突状态下\n依旧会绿,复发只能靠工作区 L9 兜住——另行派活。\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:14:16-07:00"}],"HeadCommit":{"Sha1":"078af5fc66585384df768683780239154d06dc7b","Message":"docs(计划): 登记本会话——C-3 宿主协议签收面首次有落点,并附三处自查出的自造缺陷\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:41:03-07:00"},"CompareURL":"luoanwu/platform-governance/compare/dea10cf1124b0e7714fe60f395709cda0be55fdb...078af5fc66585384df768683780239154d06dc7b","Len":3}...
|
1789786684
|
Edit
Delete
|
|
31229
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6fbebf528 {"Commits":[{"Sha1":"6fbebf5285a9a335410c5f884d81314d0394429c","Message":"chore(reports): candidate-contracts 回绑 @ 16459e0 —— 9 条探针零豁免\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:55:24-07:00"},{"Sha1":"16459e09061655eb29b432aa5a9334b9685cbced","Message":"test(contracts): 跨域流程的 plan 补第一条 ACCEPT 用例——最后一条 shape 探针豁免清零\n\ncheck:candidate-contracts 此前带着一条豁免:planWorkflowInstance 取不到 ACCEPT 载荷,\n因为 cross-domain-workflow 的 plan 规则在 28 例夹具里全是反例。查隔壁——\ncollaboration-messaging 的同类规则 P03 是有正例的。所以这不是「夹具只固定失败关闭一侧」\n的设计口径,是这一域缺了一条,而豁免让它看起来像是有意为之。\n\n补 P04-approved-snapshot-plans-an-instance:已批准快照 + 合法请求,载荷直接取自该域单测里\n那条已在跑的 planner 正例(不是新造的场景)。夹具 28 → 29 例(正 4 / 反 25),\ncheck:fixtures 该套件 29/29 失败 0,fixture-coverage 三档仍全为 0。\n\n连带把 C15 契约的探针由 skip 换成真探针(planWorkflowInstance ← plan.request):\n9 条探针全部比对通过、零豁免。门禁单测两处计数同步,并把断言从「豁免恰好是这一条」\n改成「豁免必须为空;再出现必须带理由」——前者会在下次加豁免时静默通过。\n\n数字声明同步:仓根 CLAUDE.md 的 17 套件 706 例 → 707,宿主协议 C15 单与索引底账的夹具数\n同步;check-workspace-consistency CLEAN,L13 无漂移。contracts 测试 416/416。\n\n跑这两道门禁都用 GOV_REPORT_DIR 重定向,仓里在途的 fixtures 报告一个字节未动——\n同日早些时候那条修复第一次真用上。\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:55:21-07:00"},{"Sha1":"05497f5a3cad8b4a82d07b81504c06fe6338c972","Message":"chore(reports): candidate-contracts 回绑 @ 864231d —— 含 11 个操作 ↔ 参考处理器的双向对账\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:49:18-07:00"},{"Sha1":"864231dc64629e58ddd53faf5c38b4f58fdf05f9","Message":"feat(contracts): 五份候选契约有了可挂载的参考实现——11 个操作,传输无关、零框架依赖\n\nC-3 把这五个域的运行宿主裁给上层既有宿主、本仓不建模块,所以「完善 HTTP 实现」不能是在\nruntime 里加路由。但「每个宿主各写一遍入参解码与决策映射」必然各写各的:REJECT 被压成 4xx、\nSKIP_DUPLICATE 被当成失败、now 忘了从 ISO 串还原成 Date——每一个都是一次就足以让语义走样。\n把这一段写在 contracts/src/http/,判定与映射同源,宿主实现 = 挂载 + 鉴权 + 持有快照。\n\n本层不做任何入参校验,这是实测后的决定,不是省事。首版写了信封校验(非对象或缺顶层键回 400),\n被夹具 N06-definition-is-not-an-object 当场戳穿——那条用例期望的是 WORKFLOW_DEFINITION_INVALID,\n400 把它盖掉了。随后逐个实测七个规则入口:传非对象 / 空对象 / undefined,一律 REJECT 并带自己的\n原因码,没有一个抛异常。校验层不是多一道保险,是多一套词汇:同一个错两种表达,消费侧必然挑更\n好读的那套,规则的原因码就此架空。五份契约的 400 描述同步改为「宿主的 JSON 解析失败」。\n\n唯一的边界处理是 Date 还原:context.now(体验)与 context.policy.now(成本,嵌深一层)过 HTTP\n是 ISO 串而规则侧是 Date。漏了不会报错,只会让时间判定永远不触发——一条静默放行的路径。\n\n测试拿规则自己的夹具载荷经处理器走一遍:ACCEPT 例仍非 REJECT,REJECT 例 reasons 与夹具逐条一致,\n无快照时 planner 失败关闭仍是 200 REJECT 而非 5xx。contracts 测试 408 → 416/416,\ncheck:generated 无漂移。\n\n门禁加 HANDLER_MISSING / HANDLER_ORPHAN 双向对账。按文本解析 index.ts 而不是 import dist——\n本门禁在 ZERO_DEP_GATES 里,要能在没装依赖的临时检出里重跑,改成 import 就会退化成未构建即\nunavailable,干净回绑随之失效。负向实测:把 assessResourceTags 改名,两条规则各报一次。\n\n未做:catalogs/ 一字未动;本仓不挂路由、不建库、不新增模块,C-3 的「不新增 M8」未被触碰;\n401 / 403 / 503 属宿主责任,不在本层。\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:49:15-07:00"},{"Sha1":"fb371d6cec3a76db97335f51a352cef8c2d7c7b4","Message":"chore(reports): candidate-contracts 回绑 @ fdbefc9 —— 补 rules-entry 后重跑,仍 0 违规\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:41:03-07:00"}],"HeadCommit":{"Sha1":"6fbebf5285a9a335410c5f884d81314d0394429c","Message":"chore(reports): candidate-contracts 回绑 @ 16459e0 —— 9 条探针零豁免\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:55:24-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/b69710a74604d55a435971103dc033025cbc6e6b...6fbebf5285a9a335410c5f884d81314d0394429c","Len":24}...
|
1789786673
|
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
|
|
31227
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b69710a74 {"Commits":[{"Sha1":"b69710a74604d55a435971103dc033025cbc6e6b","Message":"docs(治理): 建宿主协议签收单目录——C-3 附条件的执行面,六份逐域单全部未签收\n\n立项这件事在本体系里已经被裁过:决策批次-2026-09-16 的 C-3(✅ 采纳)把九个契约域的\n运行宿主裁给上层既有宿主,附条件写死「宿主协议……签收才算准入」,Q01 原文还有两句更硬的\n——「签收前不运行」与「不得以『方便实现』自动新增 M8」。裁决当天的执行顺序 §3 第 4 条\n即为「C-3 宿主协议逐域签收 → Catalog 六项去向」,而建本目录之前,全仓「宿主协议」四字\n只出现在三篇设计文档里,零份签收材料:空着的不是立项,是签收。\n\n本次按十三项最小内容(能力ID / 数据Owner / 运行Owner / 库 / 对外契约 / 鉴权 / 备份 /\nSLO / 值班 / 依赖 / 预算 / 升级退出 / 消费者清单)逐域建单,五份对应 C-3 承接表:\nC15 跨域流程、C16 企业 IM、C17 数据分析、C18 统一体验、C19 成本与容量,状态一律「未签收」。\n每份代填的只有本仓可机器核验的字段(规则文件与行数、域测试、失败关闭夹具例数、Catalog\n登记与 blockers、本域特有约束),宿主侧字段一律空缺;本目录不代任何 Owner 签字,\n不改任何 Catalog 字段——Catalog 去向登记是签收之后的动作,须走 CHG。\n\n三处不能读岔的,逐单复写:\n- C19 的宿主按 C-3 是「复用 C17 选定宿主」,C17 未签收前它的宿主栏无从填起;且 C-15 改案\n 把订阅计量与出账并入本域,范围改写材料 CHG-017 待签,签前须先确认适用哪版范围。\n- C18 的宿主是劈成两半的:企业业务 Shell 归数字员工基座(本单要签的那半),平台自身入口\n 由本仓独立工作台承载(CHG-018 修正,不走宿主签收)。工作台已在本机 dev 跑起来,\n 不构成把 enterprise-experience 读成「已有承接」的理由。\n- C15 是六域里唯一带「无合格宿主则另提运行承接裁决」口子的,那是 Q01 给新建运行承接\n (含本仓模块)留的唯一合法入口,走它要附至少两个宿主方案的成本与迁移影响,不是跳过签收。\n\nC01 注册中心单列为「不适用」:C-3 的承接表只覆盖 C11—C19,注册中心是 C01、责任在\nCatalog Owner / 平台工程,权威状态是获批的 Git 内容,没有「托管到某个上层业务应用」这个选项。\nA-2 附条件里「注册中心项已由 CHG-013 / 014 处理」指的是登记面(code_truth 改指、证据归零),\n不是运行承接裁决。它真正卡的是六条 blocker(DEC-009/010/011/012/031/032)的落地面——\n六条都已 approved,所以不是等裁决,是这些裁决在本域还没有对应实现。\n\n一条五份单共同的前置(机器实测 2026-09-18):六个域在 contracts/ 里已登记的 HTTP 契约与\nFact 都是 0——contracts/contracts/ 的 7 份 OpenAPI 全属七模块,facts.json 对六域一条没有。\n按仓纪律 1「模块新增端口 / Fact 必须先登记 contracts/」,登记对外契约必须发生在签收之前,\n否则宿主签的是一份没有接口定义的协议。\n\n同时在 Q01 的「待改产物 / 责任」后补一段「签收面」指向本目录,避免新目录成为孤儿文档。\n门禁:治理层 check-workspace-consistency 重跑,除在案常驻的 L9 COMPOSE_PROJECT_COLLISION\n外无新增问题;七份新文档的相对链接与锚点逐条实测可达。\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:46:22-07:00"},{"Sha1":"7dd4429a2d0400fdd2f2e9ec2b93e8cfb6e52609","Message":"docs(工作台): 订正实现记录里「回绑」那句 —— 本轮只回绑了 runtime 作用域的两份\n\n21b0821 写记录时那句是「报告回绑单独成提交跟在本提交之后」,写的是打算而不是结果。\n实际只做到一半,记录里现在把一半的边界画出来:naming 与 fork-readiness 已在 21b0821 上\n以 worktreeDirty=false 回绑(edff342);module-imports 的输入集确实被本轮动到,但取证时\n仓根不干净——树里有并行会话正在写的未跟踪产物 docs/能力设计/宿主协议/——按仓根算就是\ndirty,回绑等于把现有 clean 绑定降级,留给干净树上补;caddy 的输入本轮一个都没动,\n不需要跟着走。\n\n也就是说这两项在 21b0821 上的证据形态是门禁 stdout 与退出码,不是回绑报告。记录 §6 改成\n一张处置表,不再是一句笼统的「只在本提交之后单独回绑」。\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:46:05-07:00"},{"Sha1":"edff342c2c4e3a7b11920e51d87c32905d58280b","Message":"chore(reports): naming 与 fork-readiness 回绑 @ 21b0821 —— 根级两份这轮拿不到 clean\n\n工作台改版(21b0821)动的是 runtime/apps/workbench,naming 与 fork-readiness 的输入集\n覆盖整个 runtime/,所以这两份必须跟着走,否则 check:evidence 会把它们判成过期。两份都在\nruntime 作用域的干净树上重跑,exit 0、worktreeDirty=false。\n\n同一时刻**没有**回绑的两份,以及为什么:\n- reports/module-imports.latest.json:输入集含工作台(规则 3「工作台不得静态 import 任何\n @juhai/module-*」),确实被 21b0821 动到,但它的 provenance 按仓根算——树里有并行会话\n 正在写的 docs/能力设计/宿主协议/(未跟踪,18:43 起),按仓根算就是 dirty=true。回绑一份\n worktreeDirty=true 的报告等于把现有的 clean 绑定降级,不如留着,等干净树上补。\n- reports/caddy.latest.json:同样只能绑 dirty=true,但它的输入(modules.json、\n caddy-routes.json、两个 Caddyfile)21b0821 一个都没动,本来就不需要跟着走。\n\n本轮这四项门禁在 21b0821 上都跑过 exit 0(module-imports、caddy 的证据形态因此是门禁\nstdout,不是回绑报告)。\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:45:42-07:00"},{"Sha1":"21b0821a2898e0e2d6f4660b8c50744600dd96bb","Message":"feat(workbench): 服务目录重做与交互完善——三处「设计写了、WB-1 没落」的缺口一并补上\n\n本轮只动 runtime/apps/workbench 的前端代码:读的还是原来那三个管理读面与随构建附带的\n目录快照,不新增接口、不新增数据来源、不新增写操作,因此不改变任何模块的验收等级、\n发布档位与 Catalog 状态。\n\n先补的三处不是新功能,是已签署设计里写了而 WB-1 没实现的:\n- 快照的 conflicts / status 此前被整个忽略,页面只渲染 entries。对外交付设计 §3.1 要求\n 「来源冲突展示冲突及证据,不静默挑选更乐观的结果」,现在冲突块排在条目之前,为空时\n 明写「0 处来源冲突」——不靠「没看见」表示没有。\n- §5.3 的「显示来源、环境和更新时间」此前一处都没有。现在每个区块各自显示取数时刻、\n 可单独重取,页脚给出平台接口地址与快照路径。\n- nonce 一直是生成并随授权请求发出,回调里却从未与 id_token 比对(§8 关键验收场景 2\n 要求 PKCE / state / nonce 都正确)。现在 nonce 与 aud 在建立会话之前校验,任一不符即\n 拒绝、不落 sessionStorage;iss 不符只降级为「主体未知」并说明原因——那是 D-10 的部署\n 配置问题,不是这次登录不合法。顺带收了 expires_in 被丢弃的问题:过期令牌此前会补水成\n 「导航栏显示已登录、每个读面都报缺凭证」。\n\n服务目录从一张静态表重做成可取景的服务中心:搜索、四个筛选、排序、分组、选中条目与是否\n对照运行时整体进 URL(默认值一律不写进去,认不出的参数退回默认而不是把页面打空),筛出来\n的视图因此可以直接贴给别人。五列可排序,层按 P0 / P1 / P2 层序、模块档位按 shape →\nauthority → e2 推进序——代码注释与页面 title 都写明这是固定显示顺序、不是优劣排名。详情\n从行内展开改成宽屏常驻面板 / 窄屏行内,六个区加快照自带的 flags 口径提醒;稳定标识、包名、\ncode_truth、绑定提交与 HTTP 前缀都带复制按钮,复制的是完整值而不是截断显示的短号。快照的\ncounts 原样成摘要条,不用筛选结果重算——那是两个时刻的两件事。\n\n新增的「对照运行时」开关默认关:目录页读的是静态快照,不该因为打开一个页面就去打需要令牌\n的接口;开关进 URL,是因为收到链接的人有权知道这个视图会额外取一份数据。打开后表格多一列\n已装载 / 未装载、详情多一节运行时对照。读面失败时只在表格上方说一次(分类 + 原因 + 重试),\n行内用 —,详情那节指回去——同一条 401 不连同同一个重试按钮摆三遍。\n\n运行信息页给出模块与项目的映射及跳回目录的深链(模块 id identity 与项目标识\nenterprise-idp 不是一回事),查不到映射就不给链接。交互面另有:深色模式真正接上(此前\n.dark 变量是死代码),首帧前由内联脚本应用偏好、不闪一帧浅色;焦点环写成原生 outline 而\n不是 @apply ring-*,焦点环消失是可达性缺陷、不该由主题配置的颜色键决定;方向键只在焦点\n落进表格后接管,全局劫持等于抢走页面滚动;窄屏改为收列而不是横向滚动,上一版的详情被困在\n表格的横向滚动容器里、手机上要左右刮着读。\n\n实测与未闭环见 docs/工作台交互与服务目录完善记录-2026-09-18.md。要点两条:nonce / aud\n校验只有单测级证据,托管登录要人工输口令、本轮没走完整授权码流程;工作台仍无仓内测试装置,\n那些断言未进 pnpm check。门禁在本轮的脏树上跑绿(workbench typecheck / lint / build、\ncheck:module-imports、check:naming、check:fork-readiness、check:caddy),报告回绑单独\n成提交跟在本提交之后。\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:46-07:00"},{"Sha1":"ef1f95e091db917900dd98bf11f6385e6b176387","Message":"docs(部署): 登记「装载全部模块」——1/7 不是回归,是 :3101 的 profile 只写了 identity\n\n§11.4 与 §18.3 两处记的「已装载 1/7」都是当时的实测,本节不追改,补的是成因,\n而成因只在一条链上:常驻容器 :53001 由 compose 注入七个 profile,一直是 7/7;\n工作台读的那条链末端是裸 dev 进程 :3101,它的 PLATFORM_PROFILES 取自\n.secrets/enterprise-platform-identity-dev.env,值是 PF-07 阶段 identity 单启时的\n出厂值 'identity'。同一块读面,两个运行面给的答案差六个模块。\n\n改动一处且在仓外:该 env 第 28 行扩成七个(原件备份 .bak-20260919-profiles),\n七个 DATABASE_URL_\u003cMODULE\u003e 本来就齐、与容器指同一台 PG(容器内 postgres:5432 =\n本机 127.0.0.1:55470),迁移无须补跑;Redis 逻辑库 dev 用 5、容器用 14,不撞。\n按 .claude/launch.json 停 pid 19008、重起为 39237,:3098 / :3010 未动,\n未重建镜像、13 个 stack 容器一个没动。仓内零改动。\n\n实测(§19.3,作用域 = 本机 dev,证据等级 = 运行态链路):启动日志七模块全装载、\n10 条模块作业句柄注册、RLS enforce 校验通过;/api/platform/modules 直打 :3101 与\n经 :3098 代理均 7 条;浏览器 :3010 总览「已装载 / 已登记模块 7 / 7」。端口提供方\n四项由模块承接,其中 factExport 与 serviceCredential 改前是 fail-closed,\npermission / audit 改前走 local-tenant-scope / local-log 回退。\n\n同节写明三条不得读岔的:credential-shape 与 scope 都是 shape 档形状实现、不是权威实现;\n七个模块只有 identity 有 health 探针;装上 ≠ 有能力 ≠ 环境健康。\n\n§19.4 留下四条:① mode 仍是 local(PLATFORM_PORTS_MODE 未设置、非生产按设计回退),\n与容器的 fail-closed 不同档,要不要一并改未裁;② 两个进程现在连同一批模块库,\n队列虽按 Redis 逻辑库分开、作业也要入队才跑,但从 :3101 入队会写容器在读写的库;\n③ env 文件名 identity-dev 与内容(七模块)已名实不符,只登记;④ 本节证据不绑提交——\n裸进程没有 PLATFORM_SOURCE_SHA,且取证时工作区 dirty(工作台改版 WIP)。\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:36:44-07:00"}],"HeadCommit":{"Sha1":"b69710a74604d55a435971103dc033025cbc6e6b","Message":"docs(治理): 建宿主协议签收单目录——C-3 附条件的执行面,六份逐域单全部未签收\n\n立项这件事在本体系里已经被裁过:决策批次-2026-09-16 的 C-3(✅ 采纳)把九个契约域的\n运行宿主裁给上层既有宿主,附条件写死「宿主协议……签收才算准入」,Q01 原文还有两句更硬的\n——「签收前不运行」与「不得以『方便实现』自动新增 M8」。裁决当天的执行顺序 §3 第 4 条\n即为「C-3 宿主协议逐域签收 → Catalog 六项去向」,而建本目录之前,全仓「宿主协议」四字\n只出现在三篇设计文档里,零份签收材料:空着的不是立项,是签收。\n\n本次按十三项最小内容(能力ID / 数据Owner / 运行Owner / 库 / 对外契约 / 鉴权 / 备份 /\nSLO / 值班 / 依赖 / 预算 / 升级退出 / 消费者清单)逐域建单,五份对应 C-3 承接表:\nC15 跨域流程、C16 企业 IM、C17 数据分析、C18 统一体验、C19 成本与容量,状态一律「未签收」。\n每份代填的只有本仓可机器核验的字段(规则文件与行数、域测试、失败关闭夹具例数、Catalog\n登记与 blockers、本域特有约束),宿主侧字段一律空缺;本目录不代任何 Owner 签字,\n不改任何 Catalog 字段——Catalog 去向登记是签收之后的动作,须走 CHG。\n\n三处不能读岔的,逐单复写:\n- C19 的宿主按 C-3 是「复用 C17 选定宿主」,C17 未签收前它的宿主栏无从填起;且 C-15 改案\n 把订阅计量与出账并入本域,范围改写材料 CHG-017 待签,签前须先确认适用哪版范围。\n- C18 的宿主是劈成两半的:企业业务 Shell 归数字员工基座(本单要签的那半),平台自身入口\n 由本仓独立工作台承载(CHG-018 修正,不走宿主签收)。工作台已在本机 dev 跑起来,\n 不构成把 enterprise-experience 读成「已有承接」的理由。\n- C15 是六域里唯一带「无合格宿主则另提运行承接裁决」口子的,那是 Q01 给新建运行承接\n (含本仓模块)留的唯一合法入口,走它要附至少两个宿主方案的成本与迁移影响,不是跳过签收。\n\nC01 注册中心单列为「不适用」:C-3 的承接表只覆盖 C11—C19,注册中心是 C01、责任在\nCatalog Owner / 平台工程,权威状态是获批的 Git 内容,没有「托管到某个上层业务应用」这个选项。\nA-2 附条件里「注册中心项已由 CHG-013 / 014 处理」指的是登记面(code_truth 改指、证据归零),\n不是运行承接裁决。它真正卡的是六条 blocker(DEC-009/010/011/012/031/032)的落地面——\n六条都已 approved,所以不是等裁决,是这些裁决在本域还没有对应实现。\n\n一条五份单共同的前置(机器实测 2026-09-18):六个域在 contracts/ 里已登记的 HTTP 契约与\nFact 都是 0——contracts/contracts/ 的 7 份 OpenAPI 全属七模块,facts.json 对六域一条没有。\n按仓纪律 1「模块新增端口 / Fact 必须先登记 contracts/」,登记对外契约必须发生在签收之前,\n否则宿主签的是一份没有接口定义的协议。\n\n同时在 Q01 的「待改产物 / 责任」后补一段「签收面」指向本目录,避免新目录成为孤儿文档。\n门禁:治理层 check-workspace-consistency 重跑,除在案常驻的 L9 COMPOSE_PROJECT_COLLISION\n外无新增问题;七份新文档的相对链接与锚点逐条实测可达。\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:46:22-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/51e311bf417385a994296f20da3b9458761bdee8...b69710a74604d55a435971103dc033025cbc6e6b","Len":5}...
|
1789782545
|
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
|
|
31225
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"51e311bf4 {"Commits":[{"Sha1":"51e311bf417385a994296f20da3b9458761bdee8","Message":"docs(部署): 登记第二次「重新部署运行」——判据仍指向只重启,但 identity 跑的是旧构建\n\n与 §12 同形态的请求,前置判据同法重算,结论同样是不重建镜像:镜像源 b90d7a1 →\nHEAD 07df639 的 runtime/ 与 stack/ 变更均为零文件,未提交改动不碰运行时输入,\n容器镜像 ID 与 reports/image-digest.json 逐字一致(sha256:fe5570f5cb60…)。\n13 个 stack 容器一个没动。\n\n与 §12.1 的两点差别记在 §18.1 / §18.2:\n- 这次跑了 check:deployed(passed / IMAGE_SOURCE_EQUIVALENT,在 07df639 上),\n 但脚本在脏树上没有落盘,reports/deployed-runtime.latest.json 仍是 dd6de712 那份、\n worktreeDirty=false,未被本轮污染——所以那一行的证据形态是门禁 stdout,不是回绑报告。\n- 这轮重启有实据,不只是「判据说该做的只有启动那半」:identity 的 dist/src/main.js\n 在 17:31 重建过,而在跑的进程是 07:57 起的,跑的是旧构建;web 与工作台的 .next\n 均不落后于源码。停 pid 5209/18658/43950,按 .claude/launch.json 重起。\n\n重启后复验 11 项全绿(§18.3):identity 无凭证 401 / 现签 HS256 令牌 200、\n控制面 /api/platform/{catalog,modules} 200、CORS 预检 204 带 authorization、\n工作台「读取探针」ok 且 database/redis up、常驻容器经 Caddy :58080 与直连 :53001 均 200、\n:3098 transport 为 Connected(D-8 注入生效)、控制台零错误。\n\n§18.4 登记一条未定位的观察:有个不带凭证的客户端每 2 秒打一次 identity 的 /api/users\n(401,失败关闭)。不是本轮重启带出来的——新进程 18:14:46 起、它 18:15:29 就接上了;\n三个浏览器标签页的 network 抓取里都没有这批请求,lsof 只见一条绕过 :3098 代理、\n直连 127.0.0.1:3101 的长连接。未定位到具体页面,该节不作结论。\n\n提交时 HEAD 已被并行会话推到 97d61aa,期间三个提交全是 chore(reports)、\nruntime/ 与 stack/ 零变更,故 §18.1 的判据在新 HEAD 上仍然成立,正文不改。\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:19:04-07:00"}],"HeadCommit":{"Sha1":"51e311bf417385a994296f20da3b9458761bdee8","Message":"docs(部署): 登记第二次「重新部署运行」——判据仍指向只重启,但 identity 跑的是旧构建\n\n与 §12 同形态的请求,前置判据同法重算,结论同样是不重建镜像:镜像源 b90d7a1 →\nHEAD 07df639 的 runtime/ 与 stack/ 变更均为零文件,未提交改动不碰运行时输入,\n容器镜像 ID 与 reports/image-digest.json 逐字一致(sha256:fe5570f5cb60…)。\n13 个 stack 容器一个没动。\n\n与 §12.1 的两点差别记在 §18.1 / §18.2:\n- 这次跑了 check:deployed(passed / IMAGE_SOURCE_EQUIVALENT,在 07df639 上),\n 但脚本在脏树上没有落盘,reports/deployed-runtime.latest.json 仍是 dd6de712 那份、\n worktreeDirty=false,未被本轮污染——所以那一行的证据形态是门禁 stdout,不是回绑报告。\n- 这轮重启有实据,不只是「判据说该做的只有启动那半」:identity 的 dist/src/main.js\n 在 17:31 重建过,而在跑的进程是 07:57 起的,跑的是旧构建;web 与工作台的 .next\n 均不落后于源码。停 pid 5209/18658/43950,按 .claude/launch.json 重起。\n\n重启后复验 11 项全绿(§18.3):identity 无凭证 401 / 现签 HS256 令牌 200、\n控制面 /api/platform/{catalog,modules} 200、CORS 预检 204 带 authorization、\n工作台「读取探针」ok 且 database/redis up、常驻容器经 Caddy :58080 与直连 :53001 均 200、\n:3098 transport 为 Connected(D-8 注入生效)、控制台零错误。\n\n§18.4 登记一条未定位的观察:有个不带凭证的客户端每 2 秒打一次 identity 的 /api/users\n(401,失败关闭)。不是本轮重启带出来的——新进程 18:14:46 起、它 18:15:29 就接上了;\n三个浏览器标签页的 network 抓取里都没有这批请求,lsof 只见一条绕过 :3098 代理、\n直连 127.0.0.1:3101 的长连接。未定位到具体页面,该节不作结论。\n\n提交时 HEAD 已被并行会话推到 97d61aa,期间三个提交全是 chore(reports)、\nruntime/ 与 stack/ 零变更,故 §18.1 的判据在新 HEAD 上仍然成立,正文不改。\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:19:04-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/97d61aa7117c2f88c4ba5e0bdf4a5b5660f2ecbe...51e311bf417385a994296f20da3b9458761bdee8","Len":1}...
|
1789780810
|
Edit
Delete
|
|
31224
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"97d61aa71 {"Commits":[{"Sha1":"97d61aa7117c2f88c4ba5e0bdf4a5b5660f2ecbe","Message":"chore(reports): check:evidence 自身回绑 @ fe9fdca —— 43 份全新鲜,状态由 partial 转 passed\n\n仓里这份还停在 2026-09-18 07:28(绑 a4b3d35),记的是 status=partial、34 新鲜 / 3 过期。\n那三条是 runtime/reports/runtime-acceptance、reports/revocation-sla、reports/mainline-acceptance,\n都因 runtime/test/e2e/identity-profile.test.ts 变更而过期,已在 b90d7a1 那轮收掉;\n只是没人把 check:evidence 自己重跑回绑,证据面的总账一直落后于实况。\n\n本次在干净树上重跑(HEAD fe9fdca,provenance.worktreeDirty=false,门禁 exit 0):\n 43 份已登记,43 份新鲜、0 份过期、0 份输入未提交、0 份无有效绑定、0 份例外\n 0 条告警;10 份未登记作用域,其中 0 份无处置说明\n\n也顺带验了前两个提交没有连带效应:十份零依赖门禁回绑到 07df639 / c570056 之后,\n工作台两份快照等以 reports 为输入的报告仍然新鲜,没有被重新判过期。\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:16:11-07:00"},{"Sha1":"fe9fdca41e28e3cbfc84f1ece8f76b068781647b","Message":"chore(reports): catalog-drift 与 facts 回绑 @ c570056 —— 在主工作区干净态下重跑\n\n这两份不能走 rebind-reports:它的临时检出在工作区之外,catalog-drift 因此读不到工作区\n(workspaceAvailable 由 true 变 false、candidates 4→0、catalogDriftUnknown 0→154,\n多出一千两百行 unknown 条目),check:facts 则会把临时目录路径写进 candidatesDir。\n改在主工作区跑,用的是上一提交刚腾出的干净窗口:先跑 catalog:drift(树干净 → dirty=false),\n把产出移出工作区、还原文件,再跑 check:facts(树仍干净 → dirty=false),最后把 drift 那份放回来。\n两份因此绑同一个提交 c570056,且 provenance.worktreeDirty 都是 false。\n\n结论与 17:11 那轮在途版本逐字一致(剔除 provenance 三行后无差异),不是靠重跑改出来的:\n catalog:drift —— error 0 / drift 0 / info 5 / unknown 0,工作区可用\n check:facts —— 16 个声明 Fact 全部可追溯(Catalog 11 / 候选 5)\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:15:40-07:00"},{"Sha1":"c5700568890c95adf58272c1755e20a54f512d77","Message":"chore(reports): 八份零依赖门禁回绑 @ 07df639 —— 覆盖上一轮绑 1de65fb/dirty 的在途版本\n\n工作区里躺着的这八份是 2026-09-18 17:11—17:26 本地跑的,绑的是\n1de65fb(caddy / catalog-reconciliation / fact-pii / migration-decs / module-imports / otel)、\n5116dc5(ci-mirror)与 6687aec(gate-flow)。前七份 provenance.worktreeDirty=true,\n按状态措辞纪律只能绑本地;而 HEAD 此后又走了六个提交(b90d7a1 … 07df639),\n直接提交等于把一份旧输入、脏树的结论写进证据面。\n\n改用 rebind-reports 在 HEAD 07df639 的干净检出里重跑这八个门禁:\n八份全部门禁 exit 0,provenance 均为 07df639 / worktreeDirty=false。\n\n结论与重跑前一致,没有靠重跑把红洗绿:\n caddy / catalog-reconciliation / migration-decs / otel —— findings 0\n fact-pii / module-imports —— violations 0\n gate-flow / ci-mirror —— status=passed,findings 0\nfact-pii 比上一份已提交的报告多出 scanDirs 与 rulesSource 两个字段,\n那是脚本里早已提交的改动第一次落进报告,不是本次新增的判据。\n\ncatalog-drift 与 facts 不在这一提交里:rebind 的临时检出在工作区之外,\n前者因此读不到工作区(workspaceAvailable true→false,catalogDriftUnknown 0→154,\n多出一千两百行 unknown 条目),后者会把临时目录路径写进 candidatesDir。\n这两份改在主工作区干净态下重跑,单独成提交。\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:15:09-07:00"}],"HeadCommit":{"Sha1":"97d61aa7117c2f88c4ba5e0bdf4a5b5660f2ecbe","Message":"chore(reports): check:evidence 自身回绑 @ fe9fdca —— 43 份全新鲜,状态由 partial 转 passed\n\n仓里这份还停在 2026-09-18 07:28(绑 a4b3d35),记的是 status=partial、34 新鲜 / 3 过期。\n那三条是 runtime/reports/runtime-acceptance、reports/revocation-sla、reports/mainline-acceptance,\n都因 runtime/test/e2e/identity-profile.test.ts 变更而过期,已在 b90d7a1 那轮收掉;\n只是没人把 check:evidence 自己重跑回绑,证据面的总账一直落后于实况。\n\n本次在干净树上重跑(HEAD fe9fdca,provenance.worktreeDirty=false,门禁 exit 0):\n 43 份已登记,43 份新鲜、0 份过期、0 份输入未提交、0 份无有效绑定、0 份例外\n 0 条告警;10 份未登记作用域,其中 0 份无处置说明\n\n也顺带验了前两个提交没有连带效应:十份零依赖门禁回绑到 07df639 / c570056 之后,\n工作台两份快照等以 reports 为输入的报告仍然新鲜,没有被重新判过期。\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:16:11-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/07df639ac88e1f0ec5a24d21c120bc36e2e722fa...97d61aa7117c2f88c4ba5e0bdf4a5b5660f2ecbe","Len":3}...
|
1789780647
|
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
|
|
31222
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"07df639ac {"Commits":[{"Sha1":"07df639ac88e1f0ec5a24d21c120bc36e2e722fa","Message":"chore(reports): 工作台两份快照回绑 @ 3eb37ea —— image-smoke 转绿与 runbook 新增章节都进了索引\n\n本会话第三次回绑这两份,成因还是那条作用域设计:docs/runbook.md 与一批 reports 都在里面,\n任一输入变更即过期。这次变的是 runbook §2 新增的 smoke env 生成配方,以及 image-smoke 由过期转 passed。\n内容确有变化(不是纯背书)。\n\n零依赖脚本,干净检出(HEAD 3eb37ea)生成,两份 provenance 均 worktreeDirty=false。\n\n至此 check:evidence 43 份全新鲜。本会话在证据线上收的:\n A 组 release-manifest / port-conformance(sbom 由并行会话收)\n B 组 deployed-runtime —— 重建 runtime 镜像并换掉 dev 常驻容器\n C 组 runtime-acceptance / mainline-acceptance / revocation-sla —— adversarial 隔离栈上真实验收\n 连带 image-digest / image-smoke / sbom / 工作台两份快照\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:05:37-07:00"},{"Sha1":"3eb37eaf82da1668fb94e3f5c9f06511da52f51a","Message":"chore(reports): image-smoke 转绿 @ 6abcd3d,并把 smoke env 的生成配方写进 runbook\n\n上一条(6abcd3d)把 image-smoke 如实留红,理由是「需要一份主机名改写过的 env 变体,那是新配置」。\n这次把它造出来跑通了,证据面最后一条红清掉。\n\n配方不是手拼的——手拼必错,因为容器侧变量名与 .secrets/…-runtime-dev.env 的键名不是一套\n(compose 里是 `DATABASE_URL: ${PLATFORM_RUNTIME_DATABASE_URL}` 这样映射的)。做法是从\n`docker compose config --format json` 解析出 runtime 的**已解析环境**(32 个变量),只改三处主机名\n(postgres:5432 / redis:6379 / otel-collector:4318 → host.docker.internal + 已发布端口,共 12 个键被改写),\n写进 .secrets/enterprise-platform-runtime-smoke.env(0600,仓外)。\n\n跑通后发现自己漏遵守 runbook 一条,已改正:REDIS_URL 继承了 dev 的逻辑库 14,而 runbook 明写\n「别用 dev 常驻运行时占着的那个,借未分配的」。首轮(db14)虽然六项全绿,但那是和常驻运行时共用\n一个逻辑库;改为 db15 后重跑,六项仍全绿,回绑的是改正后这一份。\n顺带记下一个表本身没说的坑:stack/provision/redis-dbs.json 里 14 / 15 都标未分配,\n**实际占用要看 .secrets 的 dev env,不是看表**。\n\n冒烟结果(镜像 fe5570f5cb60 @ b90d7a1,即 B 组重建的那个):\n container-running / api-health-200(database+redis up)/ platform-modules-view(fail-closed,七模块)\n / module-health-200 / decisions-unauthenticated-401 / docker-healthcheck-healthy —— 六项全绿\n\n报告在干净检出(HEAD 6abcd3d)产出,provenance dirty=false,sourceSha b90d7a1(镜像源提交,与本次\n运行绑定不同是正常的,runbook 已说明)。配方连同两处踩坑写进 docs/runbook.md §2,免得下一个人重走。\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:05:08-07:00"}],"HeadCommit":{"Sha1":"07df639ac88e1f0ec5a24d21c120bc36e2e722fa","Message":"chore(reports): 工作台两份快照回绑 @ 3eb37ea —— image-smoke 转绿与 runbook 新增章节都进了索引\n\n本会话第三次回绑这两份,成因还是那条作用域设计:docs/runbook.md 与一批 reports 都在里面,\n任一输入变更即过期。这次变的是 runbook §2 新增的 smoke env 生成配方,以及 image-smoke 由过期转 passed。\n内容确有变化(不是纯背书)。\n\n零依赖脚本,干净检出(HEAD 3eb37ea)生成,两份 provenance 均 worktreeDirty=false。\n\n至此 check:evidence 43 份全新鲜。本会话在证据线上收的:\n A 组 release-manifest / port-conformance(sbom 由并行会话收)\n B 组 deployed-runtime —— 重建 runtime 镜像并换掉 dev 常驻容器\n C 组 runtime-acceptance / mainline-acceptance / revocation-sla —— adversarial 隔离栈上真实验收\n 连带 image-digest / image-smoke / sbom / 工作台两份快照\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:05:37-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/6abcd3d93b19b2a73eb7869272261dde4e0b66d5...07df639ac88e1f0ec5a24d21c120bc36e2e722fa","Len":2}...
|
1789780029
|
Edit
Delete
|
|
31221
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6abcd3d93 {"Commits":[{"Sha1":"6abcd3d93b19b2a73eb7869272261dde4e0b66d5","Message":"chore(reports): 新镜像连带过期的四份,收三份回绑 @ dd6de71;image-smoke 如实留红\n\n重建 runtime 镜像后 reports/image-digest.json 变了,它同时落在四份报告的作用域里,四份一起过期。\n这四份都是我造成的,一次批量收:\n\n deployed-runtime passed 容器镜像与 image-digest 一致 @ b90d7a1\n release-manifest partial 仍缺 signature(与 registry 镜像绑定的 cosign 验证),是结论不是失败\n sbom 已刷新 lockfile 模式,随新镜像的源提交重算\n\n**image-smoke 没收,如实留在过期状态**,理由写清楚免得下一个人重走一遍:\n- 它要 `--env-file`,仓里没有也不该有;`.secrets/enterprise-platform-runtime-dev.env` 是给 compose 用的,\n 里面的 DB / Redis 主机名是 compose 服务名,独立 `docker run` 的容器不在那张网里,解析不到;\n- 默认端口 53001 被 dev 常驻 runtime 占着,换 --port 53051 可以绕开端口冲突,但上面那条解析不了,\n 实测 api-health HTTP 0、HEALTHCHECK unhealthy;\n- runbook §2 写的是「指向本机底座时主机名用 host.docker.internal」——要跑得先造一份改写过主机名与端口的\n env 变体。那是新配置,不在本次范围,也不该由我随手拼。\n跑出来的那份 failed 报告**没有拷回主检出**(在临时 worktree 里 git checkout 还原了)——不拿失败结果\n冒充证据,也不让它把一份原本只是\"过期\"的报告变成\"失败\"。\n\n做法同前:企业控制面/.worktrees/settle 干净检出(HEAD dd6de71),只软链 runtime/node_modules,\n跑完把三份 report + sbom.spdx.json 拷回,按 pathspec 提交。三份 provenance 均 dd6de71、worktreeDirty=false。\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:58:16-07:00"},{"Sha1":"dd6de7125d4ff5c3a32855f67adc483a2cb2c22a","Message":"chore(reports): 工作台两份快照回绑 @ a818ec2 —— 这次内容真的变了(新镜像 + rc.6)\n\n上一次回绑(d7d9fe5)是纯背书,索引内容一字未变。这次不同,两份都有实质变化:\n ops.image ref 05e3826e9e9e → b90d7a151e5e,digest c086993…→ fe5570f…,source_sha 与 built_at 同步\n (B 组重建镜像换容器的结果,a818ec2)\n ops.release version 1.0.0-rc.3 → 1.0.0-rc.6,source_sha 04d02d6 → e3b9d12,三个包版本随之更新\n (并行会话的 rc.6 列车)\n catalog entries 与包版本同步刷新\n\n成因就是它的作用域设计:reports/image-digest.json、release-manifest、evidence-freshness 都在里面,\n任一输入变更即过期——我提交 image-digest.json 的那一刻它就该重跑。\n\n零依赖脚本,在 企业控制面/.worktrees/rebind-ops2 干净检出(HEAD a818ec2)跑\nnode governance/build-workbench-snapshots.mjs,确认 git status 为空后出报告,两份拷回主检出、\n按 pathspec 提交。两份 provenance 均 gitSha=a818ec2、worktreeDirty=false。\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:56:53-07:00"},{"Sha1":"a818ec2cb2324fc14720fdfc1bc5f07b9cf38309","Message":"chore(reports): B 组 deployed-runtime 转绿 @ b90d7a1 —— 重建 runtime 镜像并换掉 dev 常驻容器\n\ndeployed-runtime 此前 failed:BUILT_IMAGE_SOURCE_BEHIND——运行容器的镜像源停在 05e3826,HEAD 已有\n23 个运行时输入变更,其中含本会话 10 处接线改的那批 fixture-evaluator 与夹具。这条不是重跑报告能收的,\n必须真重建镜像并换容器。\n\n做了什么:\n1. pnpm image:build —— 上下文是 git archive HEAD:runtime(只取已提交的树,不受任何 WIP 影响),\n token 只作 BuildKit secret。产出 enterprise-platform/runtime:b90d7a151e5e,\n image id sha256:fe5570f5cb60…,linux/arm64,195 MB;reports/image-digest.json 随之更新。\n2. 按 runbook §1 的既定写法换镜像:改 .secrets/enterprise-platform-runtime-dev.env 里的\n PLATFORM_RUNTIME_IMAGE 为 \u003cname\u003e@sha256:\u003cimage id\u003e(改前已备份为 .bak-20260919-b90d7a1,该文件在仓外、0600),\n docker compose --env-file … up -d --no-deps runtime 重建。未动底座其他 12 个服务。\n3. 容器 healthy,/api/health 200:{\"status\":\"ok\",\"service\":\"nestjs\",\"checks\":{\"database\":\"up\",\"redis\":\"up\"}}。\n4. 在干净检出跑 node governance/check-deployed-runtime.mjs --write-report → passed @ b90d7a1。\n\n一处踩坑记下来:check-deployed-runtime.mjs 只有带 --write-report 才落盘,不带就只打印。我前两次跑完\n以为报告已更新,实际文件还是 06c3d4c 那份——git status 不显示改动才发现。别被 ✓ 骗了。\n\nreports/image-digest.json 一并提交:它是本次构建的产物,也是 deployed-runtime 与 release-manifest 的\n作用域输入,不提交则下一次判定会指向一个仓里不存在的镜像绑定。\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:52:23-07:00"}],"HeadCommit":{"Sha1":"6abcd3d93b19b2a73eb7869272261dde4e0b66d5","Message":"chore(reports): 新镜像连带过期的四份,收三份回绑 @ dd6de71;image-smoke 如实留红\n\n重建 runtime 镜像后 reports/image-digest.json 变了,它同时落在四份报告的作用域里,四份一起过期。\n这四份都是我造成的,一次批量收:\n\n deployed-runtime passed 容器镜像与 image-digest 一致 @ b90d7a1\n release-manifest partial 仍缺 signature(与 registry 镜像绑定的 cosign 验证),是结论不是失败\n sbom 已刷新 lockfile 模式,随新镜像的源提交重算\n\n**image-smoke 没收,如实留在过期状态**,理由写清楚免得下一个人重走一遍:\n- 它要 `--env-file`,仓里没有也不该有;`.secrets/enterprise-platform-runtime-dev.env` 是给 compose 用的,\n 里面的 DB / Redis 主机名是 compose 服务名,独立 `docker run` 的容器不在那张网里,解析不到;\n- 默认端口 53001 被 dev 常驻 runtime 占着,换 --port 53051 可以绕开端口冲突,但上面那条解析不了,\n 实测 api-health HTTP 0、HEALTHCHECK unhealthy;\n- runbook §2 写的是「指向本机底座时主机名用 host.docker.internal」——要跑得先造一份改写过主机名与端口的\n env 变体。那是新配置,不在本次范围,也不该由我随手拼。\n跑出来的那份 failed 报告**没有拷回主检出**(在临时 worktree 里 git checkout 还原了)——不拿失败结果\n冒充证据,也不让它把一份原本只是\"过期\"的报告变成\"失败\"。\n\n做法同前:企业控制面/.worktrees/settle 干净检出(HEAD dd6de71),只软链 runtime/node_modules,\n跑完把三份 report + sbom.spdx.json 拷回,按 pathspec 提交。三份 provenance 均 dd6de71、worktreeDirty=false。\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:58:16-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/b90d7a151e5e9451fa12fb6e883b8898552124df...6abcd3d93b19b2a73eb7869272261dde4e0b66d5","Len":3}...
|
1789779515
|
Edit
Delete
|