|
31145
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/feat/registry-rule-hardening
|
0
|
{"Commits":[{"Sha1":"92a6b8e64 {"Commits":[{"Sha1":"92a6b8e647c2c4d764c1fcdb8448bfc48a4dc4ed","Message":"fix(contracts): 注册中心规则补失败关闭与摘要规范化——三个入口此前抛 TypeError,同一摘要的两种写法此前分叉成两个复核键\n\n蓝图 docs/domain/registry-snapshot-blueprint.md 从迁入起就写着「失败关闭」与\n「review key 仅用于人工复核幂等」两条不变量,实测三处不成立。本次按蓝图自己的口径补齐,\n改动只在 contracts/src/domain/application-contract-registry/:不新增写入点、不新增宿主、\n不动 Catalog 与 Schema,每条输出仍固定 activationAllowed=false / registryWriteAllowed=false /\nhumanApprovalRequired=true。\n\n1. 失败关闭:assessRegistrySnapshot / assessRegistryTransition /\n reviewCandidateSnapshotUpgrade 对畸形输入抛 TypeError(快照缺字段、now 不是 Date、\n decisions 整个缺失都会抛),四个入口里只有 LocalManifestAdmissionPlanner.plan 是\n 失败关闭的。现四个入口一致返回 REJECT + 原因码。这不是洁癖:check-fixtures 把抛出当\n 配置错误处理,实测一次 TypeError 会让整套 15 例逐例判定塌成一条 configuration 失败。\n\n2. 十六进制引用规范化:digest / commit 的正则带 /i 收大小写两种写法,比较与入键却\n 大小写敏感——同一摘要写成大写会得到另一个 reviewIdempotencyKey,同版本大小写翻转被判成\n SAME_VERSION_DIGEST_CHANGED,大写回滚 pin 被判成 ROLLBACK_PIN_MUST_MATCH_CURRENT。\n 现一律规范化为小写后再比较、再入键,ACCEPT 回吐规范化后的值。\n\n3. 版本文法收敛:一个模块三套(快照流与清单准入用 \\d+\\.\\d+\\.\\d+,升级复核用严格 SemVer),\n 新增 registry-primitives.ts 作单一来源,含预发布序;DEC-009—012 此前在两份文件各写一份,\n 一并收敛。snapshot-upgrade-review.ts 因此净减约 60 行重复实现。\n\n两处语义变化(蓝图新增一节已如实登记):\n- 收紧:1.02.0 这类前导零版本此前被放行,现在拒;assessRegistrySnapshot 另开始拒 latest\n 这类可变标签——此前它能过体检却必然过不了迁移规则。\n- 放宽:1.0.0-rc.1 这类预发布版本此前被快照流整条挡在外面,现在按 SemVer 序参与迁移。\n 平台自己发的就是 1.0.0-rc.N,升级复核那一侧本来就这么判。风险面有限:本模块所有出口\n 都不激活、不写 Registry,多进人工复核队列不等于多放行制品。\n\n证据(本分支隔离工作树,clean):注册中心单测 44/44(原 34 + 加固 10);\ncontracts check:local 302/302;check:fixtures 九个契约域套件 100 例 0 失败,\n其中本套件 15 例(正 4 / 反 11,原 8 例)。篡改必红实测两次:sameHexRef 退回大小写敏感\n→ 单测 1 红 + 夹具 P03 红;去掉快照入口守卫 → 整套塌成 0 例 1 配置失败。\n\n仍为仓内候选 sdk_e2,不代表正式 Registry、Snapshot 发布或跨仓 Required Check 已上线。\n清单登记的 C01.04 / C01.06 是「接线」型缺口且前置 Q01 运行宿主未裁,本次未动。\nreports/fixtures.latest.json 未回绑:它是 17 套件的聚合报告,只跑 9 个套件去覆盖会缩小结论面,\n应在整批(含并行会话的 public-file / IM / 跨域流程改动)落定后统一重跑回绑。\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-18T07:40:10-07:00"},{"Sha1":"793d0a106f07c2b9974991a2a5953fdebc5be1b3","Message":"fix(contracts): 公共文件规则补入参体检——plan 遇畸形请求此前抛 TypeError,非布尔授权位此前被判成放行\n\n迁入版本在「入参可信」的前提下是对的,但本能力的实际入口是 JSON:夹具评估器、策略快照、\n三个消费仓的载荷都从反序列化来,TS 类型只在编译期成立。判定面没有扩张,改的只是拿到脏值时往哪边倒。\n\n三个缺口(均有实测,非读代码推断):\n\n1. `LocalPublicFileAccessPlanner.plan()` 遇畸形请求抛 TypeError 而不是拒绝。补强前 dist 实测\n `plan({})` → `TypeError: Cannot read properties of undefined (reading 'trim')`,`plan(null)`\n 与缺 `file` 的请求同理。蓝图写的「失败闭合」只覆盖快照畸形(bundled deny-all),没覆盖请求畸形——\n 抛异常落到消费侧是 500,不是拒绝。现按同包 `webhook-delivery-planner.plan()` 的既有先例先体检请求:\n 非对象 → FILE_ACCESS_REQUEST_INVALID,归属三件套缺失或非字符串 → FILE_ACCESS_ATTRIBUTION_REQUIRED,\n `file` 不是对象 → FILE_REFERENCE_INVALID。\n\n2. 非布尔的授权位被判成放行。`if (!context.permissionGranted)` 对 \"false\" / 1 / {} 全部放行;\n `authorizationVersion \u003c requiredAuthorizationVersion` 与 `expiresAt \u003c= now` 在另一端缺失时都是 false,\n 即「比不出来」被当成「比过了」。现在授权位只认字面 true,两个比较的两端都必须是整数。\n\n3. `PublicFileRef.version` 声明为 \"v1\" 却从来没被校验,换版本的引用会被 v1 判定顺带放行。\n 加 FILE_REF_VERSION_UNSUPPORTED。\n\n覆盖:夹具评估器不再先把缺字段补成 \"\" / NaN(那层补齐等于夹具永远喂不进脏值,而脏值正是这次要固定的\n那一侧),payload 原样交给规则;新增 refresh 规则——planner 第三个公开方法此前在门禁上零覆盖。\n夹具 13 → 29 例(正 4 / 反 25),补齐六条此前只有单测、门禁上没有的策略白名单原因,以及\nFILE_ACCESS_ATTRIBUTION_REQUIRED / FILE_TENANT_NOT_ALLOWED 两条此前任何地方都没覆盖的原因;\n定向测试 15 → 22 例,迁入的 15 例一条未改。\n\n未做(需 CHG,已在 index.ts 抬头与 SOURCE.md 写明,不再沿用旧措辞):\nschemas/public-file-ref.v1.schema.json(version=1 数字 + ownerEntity*/storageRef)与本目录的\nPublicFileRef(version=\"v1\" 字符串 + sha256/size/mimeType/scanStatus)不是同一个对象——一份通得过\nSchema 的引用喂不进 assessPublicFileRef,反之亦然。合并属契约变更,不在本次范围。Catalog 登记未动\n(public-file 仍 module_e2、code_truth 指向工单仓 packages/attachments),三个消费仓的副本未同步本次补强。\n\n证据:在仅含本提交改动的导出树上 tsc 绿、定向 22/22、contract-public-file 夹具 29/29;\n工作树另有并行会话的 WIP,故本次不回绑任何 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-18T07:38:28-07:00"},{"Sha1":"0c6a1918aa223b1779ce4653ba2c4e4609aea336","Message":"chore(reports): dev 常驻运行时切换后的部署门禁回绑 @ 06c3d4c\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-18T07:34:13-07:00"},{"Sha1":"06c3d4cb7fd09b2b44e621a56d7b14653bb8b445","Message":"chore(reports): runtime 镜像重建与冒烟证据回绑 @ 05e3826\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-18T07:33:44-07:00"}],"HeadCommit":{"Sha1":"92a6b8e647c2c4d764c1fcdb8448bfc48a4dc4ed","Message":"fix(contracts): 注册中心规则补失败关闭与摘要规范化——三个入口此前抛 TypeError,同一摘要的两种写法此前分叉成两个复核键\n\n蓝图 docs/domain/registry-snapshot-blueprint.md 从迁入起就写着「失败关闭」与\n「review key 仅用于人工复核幂等」两条不变量,实测三处不成立。本次按蓝图自己的口径补齐,\n改动只在 contracts/src/domain/application-contract-registry/:不新增写入点、不新增宿主、\n不动 Catalog 与 Schema,每条输出仍固定 activationAllowed=false / registryWriteAllowed=false /\nhumanApprovalRequired=true。\n\n1. 失败关闭:assessRegistrySnapshot / assessRegistryTransition /\n reviewCandidateSnapshotUpgrade 对畸形输入抛 TypeError(快照缺字段、now 不是 Date、\n decisions 整个缺失都会抛),四个入口里只有 LocalManifestAdmissionPlanner.plan 是\n 失败关闭的。现四个入口一致返回 REJECT + 原因码。这不是洁癖:check-fixtures 把抛出当\n 配置错误处理,实测一次 TypeError 会让整套 15 例逐例判定塌成一条 configuration 失败。\n\n2. 十六进制引用规范化:digest / commit 的正则带 /i 收大小写两种写法,比较与入键却\n 大小写敏感——同一摘要写成大写会得到另一个 reviewIdempotencyKey,同版本大小写翻转被判成\n SAME_VERSION_DIGEST_CHANGED,大写回滚 pin 被判成 ROLLBACK_PIN_MUST_MATCH_CURRENT。\n 现一律规范化为小写后再比较、再入键,ACCEPT 回吐规范化后的值。\n\n3. 版本文法收敛:一个模块三套(快照流与清单准入用 \\d+\\.\\d+\\.\\d+,升级复核用严格 SemVer),\n 新增 registry-primitives.ts 作单一来源,含预发布序;DEC-009—012 此前在两份文件各写一份,\n 一并收敛。snapshot-upgrade-review.ts 因此净减约 60 行重复实现。\n\n两处语义变化(蓝图新增一节已如实登记):\n- 收紧:1.02.0 这类前导零版本此前被放行,现在拒;assessRegistrySnapshot 另开始拒 latest\n 这类可变标签——此前它能过体检却必然过不了迁移规则。\n- 放宽:1.0.0-rc.1 这类预发布版本此前被快照流整条挡在外面,现在按 SemVer 序参与迁移。\n 平台自己发的就是 1.0.0-rc.N,升级复核那一侧本来就这么判。风险面有限:本模块所有出口\n 都不激活、不写 Registry,多进人工复核队列不等于多放行制品。\n\n证据(本分支隔离工作树,clean):注册中心单测 44/44(原 34 + 加固 10);\ncontracts check:local 302/302;check:fixtures 九个契约域套件 100 例 0 失败,\n其中本套件 15 例(正 4 / 反 11,原 8 例)。篡改必红实测两次:sameHexRef 退回大小写敏感\n→ 单测 1 红 + 夹具 P03 红;去掉快照入口守卫 → 整套塌成 0 例 1 配置失败。\n\n仍为仓内候选 sdk_e2,不代表正式 Registry、Snapshot 发布或跨仓 Required Check 已上线。\n清单登记的 C01.04 / C01.06 是「接线」型缺口且前置 Q01 运行宿主未裁,本次未动。\nreports/fixtures.latest.json 未回绑:它是 17 套件的聚合报告,只跑 9 个套件去覆盖会缩小结论面,\n应在整批(含并行会话的 public-file / IM / 跨域流程改动)落定后统一重跑回绑。\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-18T07:40:10-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/05e3826e9e9e4dbbdd753252c2134b8494b08f2b...92a6b8e647c2c4d764c1fcdb8448bfc48a4dc4ed","Len":4}...
|
1789742570
|
Edit
Delete
|
|
31144
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/feat/registry-rule-hardening
|
0
|
|
1789742570
|
Edit
Delete
|
|
31143
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"91b525700 {"Commits":[{"Sha1":"91b5257007ab9d588dcada5c5ca8d0c41a024bb9","Message":"chore(reports): B2 的四十一份三级证据 回绑 @ d1eb586,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 d1eb586(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n四十一份 reports/*.latest.json 全部 clean 绑定(gitSha=d1eb586、worktreeDirty:false):\n静态 28 + 运行态 13。\n\n运行态实测与基线逐项持平,**tenantId 收敛在真实写链上行为中性**:\n testsPassed 733(基线 733)· behaviorParityCases 204(基线 204)· testFailures 0\n 87 项指标零违规\n静态整轮 28 步全执行、前 27 绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\n本批次跑了三轮 runtime,前两轮红,都不是 B2 的代码问题,如实记录:\n\n一、第一轮 outcomes.integration.test.ts「outcome not opened in time」(15 秒 E2E 超时)。\n 判为偶发,依据三条:该测试用 tenant-a-nestjs-outcome,在新 schema 下合法;整份日志里\n 新校验的拒绝消息 / ZodError / invalid_string **0 次命中**;同一份代码隔离重跑该文件\n 14/14 通过。第三轮整轮亦一次过。\n 顺带记一个行为:**失败的 runtime 会删掉 8 份运行态报告**(跑到一半中止、未重新生成)。\n\n二、第二轮测试全过(733 / 204-204 / 0 失败)但整轮记 failed,红在末尾的文档复核\n governance-kernel-boundary-number-consistency。根因是本会话的一次操作失误:\n `git restore reports/` 用了目录级范围,把已重新生成的 kernel-boundaries.latest.json\n 退回 HEAD 版(143/143),而 CLAUDE.md 已是 144/144。重跑静态后边界报告回到 144/144,\n 又撞上 governance-number-evidence-shape(要求一份 passed 的 runtime),于是必须再跑\n 第三轮才解环——这正是 CLAUDE.md 记载过的那个环。\n\n 同一次失误还抹掉了三份 reports/ui-*.latest.json 的未提交改动(不属本会话)。\n 已用 git fsck --lost-found 从游离 blob 全数找回并逐字核对:它们是 2026-09-15 的 UI 验收,\n 绑 c433d57 且 dirty=false。本提交仍未包含它们。\n 教训具体化:reports/ 下同时存在「本会话产出的」与「别人的」两类文件,任何范围操作都会\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-18T07:31:09-07:00"},{"Sha1":"d1eb5860c4337cf457a03c76670d2551dc848cee","Message":"feat(contracts): B2 迁入内核租户原语,收敛 tenantId 的三套口径为单源\n\n立项 B2 原写「净迁入六个」。开工时改了做法并写回立项:**净迁入的模块不该先暴露后接线**。\napi-error / replay-buffer / request-context / platform-ports / alert 只加到 barrel 而不接线,\n就是新增零消费者的 CORE 面——正是本仓 check:kernel-admission 的 K5 在盯、K4 判「声明无回执」\n的同型。改为**接线时才迁入**。六个里只有 tenant 是「迁入即能用」的,本批只做它。\n\n一、packages/contracts/src/tenant.ts 转发 @juhai/kernel 的 11 个租户解析原语。\n 这个名字是上一步 tenant.ts → authorization.ts 改名腾出来的;本仓此前**完全没有这一组**。\n\n二、用它收敛 tenantId 的三套口径(8 处 / 6 个文件):\n z.string().min(1) × 6(无上限、无字符约束) → tenantIdSchema\n .max(128) × 2(有长度无形状) → tenantIdSchema\n ^ten_.+$(事实投影,自成一套) → **叠加**在内核形状之上,不再另起\n\n 判据直接委托 normalizeTenantId,不在仓内重写正则——重写就又是一套口径。\n 用 normalizeTenantId(v) === v 而非 !== undefined:后者放行带首尾空白的值\n (normalize 先 trim 再判),于是「校验通过的值」与「真正该存的值」不是同一个。\n\n收紧实测咬住 11/11。B2 之前 z.string().min(1) 会放行全部这些:\"\"、\" t1 \"、\"t/1\"、\n**\"t\\n1\"**、\"_t\"、129 字符。含换行符那条是框架注释点名的伪造日志行向量(NestJS 侧有字符串\n拼接日志);129 字符那条对应 users 表 @@unique([tenantId, email]) 撞 Postgres btree 约\n2704 字节行上限打 500。也就是说本仓在此之前**没有任何 tenantId 形状与长度校验**。\n\n三处门禁如实红过再修,没有一处先改门禁:\n check:kernel-boundaries B3 新内核面未归类 → tenant.ts 归 CORE(contractModules 32)\n check:kernel-packages P7 公开面变更须伴随版本上调 → @repo/contracts 1.18.0 → 1.19.0\n check:kernel-admission K1 导出清单漂移 → 重签(40 模块 / 756 导出)\n连带同步接入手册下游锁行与 CLAUDE.md 边界数字 143/143 → 144/144。\n\n验证:contracts 312/312 · typecheck 13/13 · 整轮静态 28 步前 27 绿(末步仍是那 8 处已知红)。\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-18T07:04:17-07:00"}],"HeadCommit":{"Sha1":"91b5257007ab9d588dcada5c5ca8d0c41a024bb9","Message":"chore(reports): B2 的四十一份三级证据 回绑 @ d1eb586,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 d1eb586(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n四十一份 reports/*.latest.json 全部 clean 绑定(gitSha=d1eb586、worktreeDirty:false):\n静态 28 + 运行态 13。\n\n运行态实测与基线逐项持平,**tenantId 收敛在真实写链上行为中性**:\n testsPassed 733(基线 733)· behaviorParityCases 204(基线 204)· testFailures 0\n 87 项指标零违规\n静态整轮 28 步全执行、前 27 绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\n本批次跑了三轮 runtime,前两轮红,都不是 B2 的代码问题,如实记录:\n\n一、第一轮 outcomes.integration.test.ts「outcome not opened in time」(15 秒 E2E 超时)。\n 判为偶发,依据三条:该测试用 tenant-a-nestjs-outcome,在新 schema 下合法;整份日志里\n 新校验的拒绝消息 / ZodError / invalid_string **0 次命中**;同一份代码隔离重跑该文件\n 14/14 通过。第三轮整轮亦一次过。\n 顺带记一个行为:**失败的 runtime 会删掉 8 份运行态报告**(跑到一半中止、未重新生成)。\n\n二、第二轮测试全过(733 / 204-204 / 0 失败)但整轮记 failed,红在末尾的文档复核\n governance-kernel-boundary-number-consistency。根因是本会话的一次操作失误:\n `git restore reports/` 用了目录级范围,把已重新生成的 kernel-boundaries.latest.json\n 退回 HEAD 版(143/143),而 CLAUDE.md 已是 144/144。重跑静态后边界报告回到 144/144,\n 又撞上 governance-number-evidence-shape(要求一份 passed 的 runtime),于是必须再跑\n 第三轮才解环——这正是 CLAUDE.md 记载过的那个环。\n\n 同一次失误还抹掉了三份 reports/ui-*.latest.json 的未提交改动(不属本会话)。\n 已用 git fsck --lost-found 从游离 blob 全数找回并逐字核对:它们是 2026-09-15 的 UI 验收,\n 绑 c433d57 且 dirty=false。本提交仍未包含它们。\n 教训具体化:reports/ 下同时存在「本会话产出的」与「别人的」两类文件,任何范围操作都会\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-18T07:31:09-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/3deb4ea37b83c2e2977c9c2b8e8166c101002860...91b5257007ab9d588dcada5c5ca8d0c41a024bb9","Len":2}...
|
1789741873
|
Edit
Delete
|
|
31142
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/claude/zealous-tu-6f0fca
|
0
|
{"Commits":[{"Sha1":"031878b2a {"Commits":[{"Sha1":"031878b2a7dbd2e2021b6dd71b0197e50cec3c96","Message":"docs(计划): 第四处同病改判已修(08c3788),并订正本条原先给错的一个修法\n\n登记时给了两个修法,取的是「把写报告挪到前置校验之后」;另一个「直接删掉占位写」被接手\n会话否掉,理由成立,本条一并订正:「跑起来但没跑完」确实该在盘上留 RUN_NOT_COMPLETED 而\n不是上一轮的 partial——这是用例自己写报告带来的责任,和「上轮结论已被后续提交推翻」不是\n同一个事实,不能用 check:evidence 判过期替代。\n\n实现是把那句抽成 markRunStarted(),调用点挪到模块库白名单通过、真实连库、API 子进程\n/health 就绪之后。两个方向都做了负向实测:同一条件下旧代码毁报告(sha256 变化),新代码\n测试照样失败而报告逐字节不变;正向确认 t+85s 兜底仍写 RUN_NOT_COMPLETED。\n\n受影响四份已重跑回绑 dfd4832(全绑 08c3788 / dirty=false,结果与修复前一致,说明动的只是\n写报告的时机);runbook §7 收尾同步改成已修(925eee8)。\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-18T07:13:53-07:00"},{"Sha1":"f7a6b8eb62651f612a8a0e9666b22a5413b4fb1a","Message":"docs(计划): 登记第四处「前置失败销毁好证据」——revocation-sla 由用例自己在 beforeAll 写 failed\n\nadda76a 把三个 runner(runtime / UI / 双后端差分)统一改成前置失败即退出、不碰报告,\n本表上一条据此记「三处同病」。复核接手会话的重跑计划时发现同族还有第四处,且不在那\n三个 runner 里:revocation-sla.latest.json 的写入者是用例自己,不是 runner。\n\n要害是写入时机。runtime/test/e2e/revocation-sla.test.ts:68 在 beforeAll 的第一句就\n无条件写下 status:failed / reason:RUN_NOT_COMPLETED,下一句才做 isolated() 库名校验\n(mainline-support.ts:11 要求 /platform_\u003ckind\u003e_(ms23|test|ci))。先毁证据再校验前置,\n恰是 adda76a 所确立口径的反面。\n\n触发面比「跑主线验收」宽:runtime/test 是工作区包 platform-tests,pnpm\nruntime:check:runtime 第 5 步的 turbo run test 就会跑到它。runbook §7 那句「前置守卫\n段已修复,但跑到一半失败仍会写 failed」对本处不成立——连跑到一半都不需要。\n\n当日由接手会话实测复现:七个模块库建成 platform_\u003cm\u003e_acc0918 后 e2e/chaos 整片失败,\n其独立检出里那份报告已被清成 RUN_NOT_COMPLETED 绑 46265a6;主工作区绑 765300b 的\npartial 因其在独立检出里跑而幸存。连带结论是七个模块库后缀只能是 ms23 / test / ci,\n且 check:runtime 与 mainline:check 本就该共用同一批库。\n\n本轮只登记不修:六份验收报告的重跑已移交主会话并在其独立检出里进行,改同一批文件必\n撞车。真源仓侧的代码修正与 runbook §7 的措辞订正留给接手会话。全程只读,未跑门禁、\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-18T02:04:54-07:00"}],"HeadCommit":{"Sha1":"031878b2a7dbd2e2021b6dd71b0197e50cec3c96","Message":"docs(计划): 第四处同病改判已修(08c3788),并订正本条原先给错的一个修法\n\n登记时给了两个修法,取的是「把写报告挪到前置校验之后」;另一个「直接删掉占位写」被接手\n会话否掉,理由成立,本条一并订正:「跑起来但没跑完」确实该在盘上留 RUN_NOT_COMPLETED 而\n不是上一轮的 partial——这是用例自己写报告带来的责任,和「上轮结论已被后续提交推翻」不是\n同一个事实,不能用 check:evidence 判过期替代。\n\n实现是把那句抽成 markRunStarted(),调用点挪到模块库白名单通过、真实连库、API 子进程\n/health 就绪之后。两个方向都做了负向实测:同一条件下旧代码毁报告(sha256 变化),新代码\n测试照样失败而报告逐字节不变;正向确认 t+85s 兜底仍写 RUN_NOT_COMPLETED。\n\n受影响四份已重跑回绑 dfd4832(全绑 08c3788 / dirty=false,结果与修复前一致,说明动的只是\n写报告的时机);runbook §7 收尾同步改成已修(925eee8)。\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-18T07:13:53-07:00"},"CompareURL":"luoanwu/platform-governance/compare/58a896f8a4030c0d72fa3b631d8f823f144d1650...031878b2a7dbd2e2021b6dd71b0197e50cec3c96","Len":2}...
|
1789740931
|
Edit
Delete
|
|
31141
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/claude/zealous-tu-6f0fca
|
0
|
|
1789740931
|
Edit
Delete
|
|
31140
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"05e3826e9 {"Commits":[{"Sha1":"05e3826e9e9e4dbbdd753252c2134b8494b08f2b","Message":"chore(reports): 工作台两份快照回绑 @ dfd4832\n\ndocs/runbook.md 在 workbench-ops-snapshot 的作用域里且是 error 级——改 §7 那段就会当场\n把 check:evidence 打红。经 reports:rebind 在 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-18T07:11:36-07:00"},{"Sha1":"dfd483287cee48db9791915cf33e037c4f758f6f","Message":"chore(reports): :68 修复波及的四份验收重跑回绑 @ 08c3788\n\n作用域含 runtime/test 的三份(runtime-acceptance / mainline-acceptance / revocation-sla)\n加上连带重写的 conformance-differential,在 HEAD 的干净检出 + 隔离栈 enterprise-platform-ms23\n重跑,全部 worktreeDirty=false:\n\n- runtime-acceptance passed(7 步全绿)\n- conformance-differential passed\n- mainline-acceptance passed(fact-read-http 11 / fact-persistence 17 / audit-tamper 19 /\n mainline-revocation-chaos 18)\n- revocation-sla partial(p95 5036 ms,20 样本)\n\n结果与修复前一致,说明这次动的只是写报告的时机,没有动判据。\nui-acceptance / identity-ui 作用域不含 runtime/test,未受影响,保持原绑定。\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-18T07:11:12-07:00"},{"Sha1":"925eee8195821074b0e2a699acc87b4af2ea35c4","Message":"docs(部署,runbook): 记录补 §10——:68 已修、两个方向的负向实测与隔离栈会被清空的教训\n\n- runbook §7 第四处那段的收尾从「代码修复尚未做」改成已落 08c3788,并写清改的是调用点不是\n 删掉占位写;那句「跑之前先确认这份报告已提交」现在只对「跑到一半失败」成立\n- 部署记录补 §10:负向实测两个方向(旧代码毁报告 / 新代码 sha256 不变)、正向确认 t+85s\n 仍写 RUN_NOT_COMPLETED、四份重跑结果,以及中途踩的一脚——enterprise-platform-ms23 是\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-18T07:11:12-07:00"},{"Sha1":"08c3788da42c5e8a4949daa8d5c7f23d30016205","Message":"fix(runtime): revocation-sla 的「已开跑」标记挪到前置校验之后——先毁证据再校验是反的\n\nadda76a 把三个验收 runner 改成「前置失败即退出、不碰报告」,但 revocation-sla 的报告不是\nrunner 写的,是用例自己写的,所以那次没覆盖到它——这是同病的第四处(runbook §7,2026-09-18 补注)。\n\n原形态:beforeAll 的**第一句**就无条件写 status=failed / RUN_NOT_COMPLETED,**下一句**才做\nisolated() 白名单校验。于是「环境没配对、这一轮根本没开始」也会先把上一轮的好报告毁掉。\n2026-09-18 重跑六份验收时第一次就踩到:模块库用了不在白名单里的名字,绑 765300b 的 partial\n当场没了(只因为跑在独立检出里才幸存)。\n\n改法不是删掉这个标记——「跑起来但没跑完」确实该在盘上留 RUN_NOT_COMPLETED 而不是上一轮的\npartial,这是用例自己写报告带来的责任。改的是**调用点**:挪到全部前置都满足之后,即模块库白名单\n通过、真实连库建好动作、API 子进程起来且 /health 就绪的那一刻。\n\n负向实测(两个方向都做了,确认这条改动真的有牙):\n- 同一条件下跑旧代码:报告被改写成 RUN_NOT_COMPLETED(sha256 变化,好报告已毁)\n- 同一条件下跑新代码:测试照样以 MAINLINE_ISOLATED_DATABASE_REQUIRED 失败,报告 sha256 逐字节不变\n两次都用 DATABASE_URL_PERMISSION=…/platform_permission_notallowed 触发,5 例 skipped。\n\ntypecheck 通过(platform-tests 无 lint 配置,只有 test / typecheck 两个脚本)。\n受影响报告(runtime-acceptance / mainline-acceptance / revocation-sla,作用域含 runtime/test)\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-18T02:51:53-07:00"},{"Sha1":"1f6fa2521e4d947ecd0ee43b18e691f836522049","Message":"docs(部署): 记录补 §9——六份验收在隔离栈重跑的结果与三个未写全的前置\n\n六份全部真跑回来(4 passed / 1 partial 设计内 / 1 passed),check:evidence 36 新鲜 / 4 过期。\n补上 runbook §7 没写全的三条:模块库后缀白名单、必须非超级用户角色、模块迁移要先 deploy。\n并登记 revocation-sla.test.ts:68 先毁证据再校验前置的缺陷与不在本轮修的理由。\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-18T02:47:01-07:00"}],"HeadCommit":{"Sha1":"05e3826e9e9e4dbbdd753252c2134b8494b08f2b","Message":"chore(reports): 工作台两份快照回绑 @ dfd4832\n\ndocs/runbook.md 在 workbench-ops-snapshot 的作用域里且是 error 级——改 §7 那段就会当场\n把 check:evidence 打红。经 reports:rebind 在 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-18T07:11:36-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/1b2328540134f0118d2e3ed9abe10095e2ae4679...05e3826e9e9e4dbbdd753252c2134b8494b08f2b","Len":6}...
|
1789740912
|
Edit
Delete
|
|
31139
|
11
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31138
|
10
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31137
|
8
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31136
|
7
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31135
|
4
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31134
|
3
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31133
|
9
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31132
|
1
|
5
|
1
|
22
|
0
|
0
|
refs/heads/app-260915
|
0
|
{"Commits":[{"Sha1":"0be2474e1 {"Commits":[{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"}],"HeadCommit":{"Sha1":"0be2474e1e34ad93ff9ac4b30d694c52573501af","Message":"修改包厢mac的时候增加判断。\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-09-18T17:52:59+08:00"},"CompareURL":"vodtest/app/compare/b95bc8ca61a1eee32824ca00934dcd4561260235...0be2474e1e34ad93ff9ac4b30d694c52573501af","Len":1}...
|
1789725188
|
Edit
Delete
|
|
31131
|
10
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31130
|
8
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31129
|
7
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31128
|
4
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31127
|
3
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31126
|
1
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31125
|
9
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31124
|
11
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"ab955d708 {"Commits":[{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"}],"HeadCommit":{"Sha1":"ab955d7085bb1c39efeb02b307b86043375aace6","Message":"小程序内容设置\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:52:12+08:00"},"CompareURL":"vodtest/pc/compare/f897e9c044c0085de57de1a598692f9a5a54936c...ab955d7085bb1c39efeb02b307b86043375aace6","Len":1}...
|
1789725138
|
Edit
Delete
|
|
31123
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a7075e40e {"Commits":[{"Sha1":"a7075e40e9aed8fbe69edb7fb7f0ebc05e477214","Message":"docs(计划): 登记 L6 / L9 两处补强,并订正自己提交信息里的一句过头话\n\nL6 此前是唯一判定与 IO 缠在一起、测试零覆盖的规则,已搬进 core 并补 8 条用例,\n只搬不改、输出逐字相同;README 那句「判定逻辑在 core」此前对它是假的,已订正。\n\nL9 的完整仓名单现在进 JSON。但我在那条提交信息里写的「每次都得重新推导」过头了:\nN-11 正文 2026-09-17 就手写了这 8 个仓名。真实缺口是名单只有手抄的一份、门禁不产\n机器形态,两者可以无声分叉。本轮独立重推的 8 个与 N-11 手抄的完全一致。\n\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-18T02:47:33-07:00"}],"HeadCommit":{"Sha1":"a7075e40e9aed8fbe69edb7fb7f0ebc05e477214","Message":"docs(计划): 登记 L6 / L9 两处补强,并订正自己提交信息里的一句过头话\n\nL6 此前是唯一判定与 IO 缠在一起、测试零覆盖的规则,已搬进 core 并补 8 条用例,\n只搬不改、输出逐字相同;README 那句「判定逻辑在 core」此前对它是假的,已订正。\n\nL9 的完整仓名单现在进 JSON。但我在那条提交信息里写的「每次都得重新推导」过头了:\nN-11 正文 2026-09-17 就手写了这 8 个仓名。真实缺口是名单只有手抄的一份、门禁不产\n机器形态,两者可以无声分叉。本轮独立重推的 8 个与 N-11 手抄的完全一致。\n\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-18T02:47:33-07:00"},"CompareURL":"luoanwu/platform-governance/compare/54738a32d101f97cc5dd3a5bca7ea426dceea9c6...a7075e40e9aed8fbe69edb7fb7f0ebc05e477214","Len":1}...
|
1789724855
|
Edit
Delete
|
|
31122
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"54738a32d {"Commits":[{"Sha1":"54738a32d101f97cc5dd3a5bca7ea426dceea9c6","Message":"feat(治理): L9 的完整仓名单带进 JSON——裁决输入不该每次重新推导\n\nL9 目前是全工作区唯一在报的那条,挂在 N-11 的裁决上,而裁决要回答的正是「哪些仓各自\n补 compose `name:`」。判定本来就算出了完整名单(composeProjectCollisions 返回\nrepos / files),但建 issue 时被丢掉:消息里只写前三个加「等 N 个」,JSON 里一个都没有。\n于是每次想知道是哪八个,都得重新推导一遍。\n\n`issue()` 增一个可选 extra 参数,只用于把**判定已算出、消息里放不下**的结构化数据带进\nJSON;没有 extra 的检查一个字段都不多(用例钉住 L13 的键仍是四个)。\n\n实测:门禁现在报出的 8 个仓与我按同一口径(排除 29 个工作树、按 .git 目录归仓)独立\n重推的结果完全一致——数字员工OS、知识云、AI项目与工单、AI人事系统、设备云、巨嗨智服、\n巨嗨报价系统、嗨赞造意/image-generation。counts 未变(total 1 / L9 1)。\n\n补两条用例:L9 的发现必须携带 repos 且数量与消息声称的一致、不得重复、files 不少于仓数;\n以及 issue() 的默认形状不变。前者守的是「有冲突时名单不得丢」,不是「必须有冲突」——\nL9 清零后它自然为空。\n\n一致性门禁测试 42 → 44,治理层全量 397 过 / 6 跳 / 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-18T02:46:51-07:00"}],"HeadCommit":{"Sha1":"54738a32d101f97cc5dd3a5bca7ea426dceea9c6","Message":"feat(治理): L9 的完整仓名单带进 JSON——裁决输入不该每次重新推导\n\nL9 目前是全工作区唯一在报的那条,挂在 N-11 的裁决上,而裁决要回答的正是「哪些仓各自\n补 compose `name:`」。判定本来就算出了完整名单(composeProjectCollisions 返回\nrepos / files),但建 issue 时被丢掉:消息里只写前三个加「等 N 个」,JSON 里一个都没有。\n于是每次想知道是哪八个,都得重新推导一遍。\n\n`issue()` 增一个可选 extra 参数,只用于把**判定已算出、消息里放不下**的结构化数据带进\nJSON;没有 extra 的检查一个字段都不多(用例钉住 L13 的键仍是四个)。\n\n实测:门禁现在报出的 8 个仓与我按同一口径(排除 29 个工作树、按 .git 目录归仓)独立\n重推的结果完全一致——数字员工OS、知识云、AI项目与工单、AI人事系统、设备云、巨嗨智服、\n巨嗨报价系统、嗨赞造意/image-generation。counts 未变(total 1 / L9 1)。\n\n补两条用例:L9 的发现必须携带 repos 且数量与消息声称的一致、不得重复、files 不少于仓数;\n以及 issue() 的默认形状不变。前者守的是「有冲突时名单不得丢」,不是「必须有冲突」——\nL9 清零后它自然为空。\n\n一致性门禁测试 42 → 44,治理层全量 397 过 / 6 跳 / 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-18T02:46:51-07:00"},"CompareURL":"luoanwu/platform-governance/compare/72c053ccbb2b4effb1451b6b61e69faf9c313fd5...54738a32d101f97cc5dd3a5bca7ea426dceea9c6","Len":1}...
|
1789724816
|
Edit
Delete
|
|
31121
|
10
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31120
|
8
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31119
|
7
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31118
|
4
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31117
|
3
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31116
|
1
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31115
|
9
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31114
|
11
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"f897e9c04 {"Commits":[{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"}],"HeadCommit":{"Sha1":"f897e9c044c0085de57de1a598692f9a5a54936c","Message":"团购管理包厢设置按钮显示\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T17:45:09+08:00"},"CompareURL":"vodtest/pc/compare/3a794261c6bc270385e7eb7ed870e8ec38b8902d...f897e9c044c0085de57de1a598692f9a5a54936c","Len":1}...
|
1789724731
|
Edit
Delete
|
|
31113
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"72c053ccb {"Commits":[{"Sha1":"72c053ccbb2b4effb1451b6b61e69faf9c313fd5","Message":"docs(治理): README 订正——「判定逻辑在 core」这句话此前对 L6 并不成立\n\n第 49 行写着「判定逻辑在 workspace-consistency-core.mjs,夹具用例 19/19」。前半句对\nL6 是假的(它的判定与文件系统读取缠在 IO 脚本里、测试零覆盖),后半句的 19 也早已陈旧。\n\nL6 的判定已于同日搬进 core 并补 8 条用例,这句话现在成立了;数字改为当前的 42,\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-18T02:39:56-07:00"}],"HeadCommit":{"Sha1":"72c053ccbb2b4effb1451b6b61e69faf9c313fd5","Message":"docs(治理): README 订正——「判定逻辑在 core」这句话此前对 L6 并不成立\n\n第 49 行写着「判定逻辑在 workspace-consistency-core.mjs,夹具用例 19/19」。前半句对\nL6 是假的(它的判定与文件系统读取缠在 IO 脚本里、测试零覆盖),后半句的 19 也早已陈旧。\n\nL6 的判定已于同日搬进 core 并补 8 条用例,这句话现在成立了;数字改为当前的 42,\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-18T02:39:56-07:00"},"CompareURL":"luoanwu/platform-governance/compare/7433af77e643c41f2ccb34fb8aebe363ec76e306...72c053ccbb2b4effb1451b6b61e69faf9c313fd5","Len":1}...
|
1789724399
|
Edit
Delete
|
|
31112
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7433af77e {"Commits":[{"Sha1":"7433af77e643c41f2ccb34fb8aebe363ec76e306","Message":"test(治理): L6 的判定搬进 core 并补负向用例——它此前是唯一零覆盖的一条\n\n一致性门禁 L1—L5 / L7—L13 的判定都在 lib/workspace-consistency-core.mjs 里、各有负向\n用例,**唯独 L6(worktree 两侧 gitdir)与文件系统读取缠在 check-workspace-consistency.mjs\n里**,全量扫描确认 tests/ 里没有任何一条用例触达它。它「能工作」的唯一证据是恰好没在\n实数据上报错——而「没报错」与「判不出来」在外部看来一模一样。\n\n本轮只搬不改:IO 函数改为只收集事实,判定交给新的纯函数 evaluateWorktreeGitdirs。\n**判词逐字未变,改前改后门禁 --json 输出实测完全相同**(status / counts / issues 三者\n逐字相等,prunableWorktrees 仍为 5、L9 仍为 1)。\n\n补 8 条负向用例,覆盖两个方向的全部分支:\n 方向一 .git 为空 / 指向不存在的登记 / 登记反指不回来(含反指读不出时须写「(空)」);\n 三种坏法互斥,前一种命中不再叠加后一种\n 方向二 gitdir 为空即红;目标还在就跳过(反指归方向一,不重复报);\n **目标没了且旁边没有同名工作树 = prunable,只计数不报**——那是 git worktree\n prune 的日常;目标没了但工作树就在旁边 = 失联,判红且不计入 prunable\n\n顺带核实两条初测假阳性,记在这里免得再查一遍:L9 的判定其实在 core 里且有用例\n(composeProjectName / composeProjectCollisions),只是测试里不出现「L9」这个字面量;\nL0 与 L28 是正则误匹配(一个字符类、一处注释里的行号)。\n\n一致性门禁测试 34 → 42,治理层全量 389 → 401(395 过 / 6 跳 / 0 失败);\n统一入口阻断性门禁 11/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-18T02:39:16-07:00"},{"Sha1":"1e6a813a72945400129128947654df4ecdc8849d","Message":"docs(回灌): U-39 / U-40——发布物与源码同版本不同内容,且 provenance 无 gitSha\n\n新增 §2E 第 5 轮条目(基础基座 → 基础设施)。采集自 OS 执行「内核退回 pin 立项」B1\n(contracts exact pin @juhai/kernel@0.22.0)时对接已发布客户端包的实测。\n\nU-39 发布物与其源码同版本不同内容,peer 只是露出来的一角。已发布的\n @juhai/client-fact@1.0.0-rc.3 声明 peer @juhai/kernel: 0.16.1(发布物自证),而控制面仓\n 同版本源码声明 0.22.0——2026-09-17 框架同步只改了 runtime/clients/fact/package.json 未重发。\n 进一步拆开发布物:dist 里没有 Authorization 回查鉴权,源码 reader.ts:31 却发\n Bearer ${token}。消费侧对此完全不可见:pnpm 对未满足 peer 只打一行 WARN 就继续装。\n → 平台侧动作:重发 rc.4 携带正确 peer,发布前确认 dist 与源码同一提交。\n 基座侧已自保:新增 PEER_UNSATISFIED 判据 + 五字段登记(期限 2026-12-18)。\n\nU-40 本地旁路发布的发布物不可对账到提交。registry 上 rc.3 的 provenance.json 为\n runner:\"local\" / reports:[] / gitSha:\"\"——空字符串。任何消费者都无法验证装到的包出自哪次\n 提交,U-39 那种「同版本不同内容」因此无法被机器发现。这比 peer 错一版严重:peer 至少还有\n 一个可比的值,gitSha 为空是判据缺席。\n → 平台侧动作:发布物 provenance.json 必须带真实 gitSha,本地旁路也不得留空——旁路可以解除\n CI 身份检查,但不应连「这是哪次提交构建的」都放弃。\n\n两条均标 🔴 下层缺口,阻塞于平台发布列车(G-12 计费)。基座侧不停等:按立项 §6 三条出路\n裁为 ③(登记偏差 + 加判据),B2 / B3′ 继续推进。\n\n一致性门禁复跑:合计 1 条,仅 L9(8 仓共用 compose project api-nestjs),与本次改动无关——\n它正是 OS 在 framework-criteria.json 里登记为 missing 的框架 F14。\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-18T02:39:13-07:00"}],"HeadCommit":{"Sha1":"7433af77e643c41f2ccb34fb8aebe363ec76e306","Message":"test(治理): L6 的判定搬进 core 并补负向用例——它此前是唯一零覆盖的一条\n\n一致性门禁 L1—L5 / L7—L13 的判定都在 lib/workspace-consistency-core.mjs 里、各有负向\n用例,**唯独 L6(worktree 两侧 gitdir)与文件系统读取缠在 check-workspace-consistency.mjs\n里**,全量扫描确认 tests/ 里没有任何一条用例触达它。它「能工作」的唯一证据是恰好没在\n实数据上报错——而「没报错」与「判不出来」在外部看来一模一样。\n\n本轮只搬不改:IO 函数改为只收集事实,判定交给新的纯函数 evaluateWorktreeGitdirs。\n**判词逐字未变,改前改后门禁 --json 输出实测完全相同**(status / counts / issues 三者\n逐字相等,prunableWorktrees 仍为 5、L9 仍为 1)。\n\n补 8 条负向用例,覆盖两个方向的全部分支:\n 方向一 .git 为空 / 指向不存在的登记 / 登记反指不回来(含反指读不出时须写「(空)」);\n 三种坏法互斥,前一种命中不再叠加后一种\n 方向二 gitdir 为空即红;目标还在就跳过(反指归方向一,不重复报);\n **目标没了且旁边没有同名工作树 = prunable,只计数不报**——那是 git worktree\n prune 的日常;目标没了但工作树就在旁边 = 失联,判红且不计入 prunable\n\n顺带核实两条初测假阳性,记在这里免得再查一遍:L9 的判定其实在 core 里且有用例\n(composeProjectName / composeProjectCollisions),只是测试里不出现「L9」这个字面量;\nL0 与 L28 是正则误匹配(一个字符类、一处注释里的行号)。\n\n一致性门禁测试 34 → 42,治理层全量 389 → 401(395 过 / 6 跳 / 0 失败);\n统一入口阻断性门禁 11/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-18T02:39:16-07:00"},"CompareURL":"luoanwu/platform-governance/compare/6b045590e6ba93dd703453bc478b3b6c879491f3...7433af77e643c41f2ccb34fb8aebe363ec76e306","Len":2}...
|
1789724358
|
Edit
Delete
|
|
31111
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3deb4ea37 {"Commits":[{"Sha1":"3deb4ea37b83c2e2977c9c2b8e8166c101002860","Message":"chore(reports): PEER_UNSATISFIED 判据的二十八份静态证据 回绑 @ 8e5c633,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 8e5c633(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=8e5c633、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\nplatform-dependency-provenance 报告新增一处 registered:PEER_UNSATISFIED(client-fact\nrc.3 的 peer 0.16.1 ↔ 本仓已解析 0.22.0),期限 2026-12-18。门禁整体仍绿——登记的作用是\n把「pnpm 只打 WARN、门禁零覆盖」变成「可见、有期限、到期转红」,不是让它消失。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T02:38:50-07:00"},{"Sha1":"8e5c633cbfbc16afc61c95b8cfcecb90a2f1aa88","Message":"feat(governance): PEER_UNSATISFIED 判据——把 pnpm 只打 WARN 的跨包版本不一致变成可见可登记\n\nB1 pin @juhai/kernel@0.22.0 后 pnpm 报了一行 unmet peer 就继续装,**本仓原有门禁一条都\n抓不到**。按内核退回 pin 立项 §6 三条出路裁为 ③(登记偏差 + 加判据,不停等发布列车)。\n\n新判据 PEER_UNSATISFIED:lock 里 @juhai/* 之间声明的 peer 必须被已解析版本满足;\n未满足即红,可按既有五字段口径登记降级为 registered,过期转红。peer 指向本仓根本没装的\n包时不判(防过度判红)。自检从 7 条扩到 12 条,新增 5 条全覆盖上述分支。\n\n实测命中一条真问题,并顺带拆出更深的一层:\n\n- 已发布的 @juhai/client-fact@1.0.0-rc.3 声明 peer @juhai/kernel: 0.16.1(发布物自证),\n 而控制面仓里**同版本的源码**声明 0.22.0——2026-09-17 框架同步只改了 package.json 没重发\n- 把 registry 上的 rc.3 拆开看:dist 里**没有** Authorization 回查鉴权,而源码 reader.ts:31\n 发 Bearer ${token}。**同一个版本号,registry 与源码是两份不同的代码**\n- 该发布物 provenance.json 为 runner:\"local\" / reports:[] / **gitSha:\"\"**——空字符串。\n 任何消费者都无法验证装到的包出自哪次提交,上一条「同版本不同内容」因此无法被机器发现\n\n不兼容风险经 delta 分析可论证为极低:内核 v0.16.1 → v0.22.0 只改 health.ts(+126)、\nalert.ts(+53)、tenant.ts(+12) 三处纯增,client-fact 一个都不消费。故登记而非阻断,\n期限 2026-12-18,blockedBy 指向平台发布列车(G-12 计费阻塞)。\n\n为什么不选另两条路(立项 §6 已记):② 退回 pin 0.16.1 的当前代价几乎为零——三处加固\n(replay cursor-unknown、WS 载荷上限、订阅数上限)**实测都已在 v0.16.1 里**,我上一轮说\n「退回等于放弃 6 个版本加固」是错的——但它是伪解,B2 要迁 alert/tenant、B3 要迁 health 时\npeer 冲突原样回来;① 等平台重发会把本仓进度挂在不可控的跨仓列车上,且若仍走本地旁路,\nprovenance 依旧无 gitSha,只解决 peer 不解决可对账性。\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-18T02:37:17-07:00"}],"HeadCommit":{"Sha1":"3deb4ea37b83c2e2977c9c2b8e8166c101002860","Message":"chore(reports): PEER_UNSATISFIED 判据的二十八份静态证据 回绑 @ 8e5c633,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 8e5c633(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=8e5c633、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\nplatform-dependency-provenance 报告新增一处 registered:PEER_UNSATISFIED(client-fact\nrc.3 的 peer 0.16.1 ↔ 本仓已解析 0.22.0),期限 2026-12-18。门禁整体仍绿——登记的作用是\n把「pnpm 只打 WARN、门禁零覆盖」变成「可见、有期限、到期转红」,不是让它消失。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T02:38:50-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/fd3ba87ed111d9245012f0578178cccb4743ab20...3deb4ea37b83c2e2977c9c2b8e8166c101002860","Len":2}...
|
1789724335
|
Edit
Delete
|
|
31110
|
11
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31109
|
10
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31108
|
8
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31107
|
4
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31106
|
3
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31105
|
1
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31104
|
9
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31103
|
7
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260915
|
0
|
{"Commits":[{"Sha1":"3a794261c {"Commits":[{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"}],"HeadCommit":{"Sha1":"3a794261c6bc270385e7eb7ed870e8ec38b8902d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-09-18T17:33:15+08:00"},"CompareURL":"vodtest/pc/compare/f0a3ea0e395022ad8ffd30ff8eeb1bba490c9fa5...3a794261c6bc270385e7eb7ed870e8ec38b8902d","Len":1}...
|
1789724002
|
Edit
Delete
|
|
31102
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1b2328540 {"Commits":[{"Sha1":"1b2328540134f0118d2e3ed9abe10095e2ae4679","Message":"chore(reports): 工作台两份快照回绑 @ 956c7b6\n\ndocs/runbook.md 在 workbench-ops-snapshot 的作用域里(error 级),上一条 §7 补注把它打成\n过期;同时 bc44b4a 改了 build-workbench-snapshots.mjs,两份快照的作用域都被碰到。经\npnpm reports:rebind --gates workbench-snapshots 在 HEAD 干净检出里重跑带回,两份均绑\n956c7b6 / worktreeDirty=false / status=ok。\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-18T02:15:12-07:00"},{"Sha1":"d9664ca9989ad3ea59399f95b6fcd56544170c52","Message":"chore(reports): check:module-imports 与 runtime-governance 回绑 @ bc44b4a\n\n两道门禁都在 bc44b4a 的临时干净检出里重跑(主工作树有并行会话的在途改动):\ncheck:module-imports 扫 387 个源文件 0 处跨模块 import;runtime-governance 走读\napps/ 源码,tenant/outbox 五项接线指标均为 0。两份 provenance 均 worktreeDirty=false。\n\n两条限制写在这里,别把绑定当成这两道门禁现在是绿的:\n1. module-imports 的作用域含 governance/check-module-imports.mjs,该文件此刻仍是未提交\n 状态(并行会话在改),所以 check:evidence 仍会按 EVIDENCE_WORKTREE_CHANGED 记它,\n 要等那份改动落盘后再回绑一次。\n2. runtime-governance 是单跑一道,runId 与 runtime/reports 里同批的其余静态子报告不同。\n runtime 的 check:governance 要求静态子报告同一 SHA/dirty/runner/runId,重新对齐只能靠\n 一次完整的 pnpm --dir runtime check;本次只保证它自己的作用域新鲜度。\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-18T02:14:40-07:00"},{"Sha1":"956c7b6ad393ce44aa9aae0d647ae59fbc61ec56","Message":"docs(runbook): §7 补第四处「前置失败销毁好证据」——revocation-sla 由用例自己在 beforeAll 写 failed\n\n§7 现有那条 2026-09-18 警告说的是三个 runner(adda76a 已修前置守卫段)。同族还有第四处,\n且是唯一一处在测试代码里的:reports/revocation-sla.latest.json 的写入者不是 runner,而是\nruntime/test/e2e/revocation-sla.test.ts 自己(check-mainline.mjs 全文只写 mainline-acceptance)。\n\n要害在时机——该文件 beforeAll 的第一句(:68)就无条件写下 RUN_NOT_COMPLETED,下一句才做\nisolated() 库名校验(mainline-support.ts:11 要求 /platform_\u003ckind\u003e_(ms23|test|ci))。先毁证据\n再校验前置,正是 adda76a 修掉的那个毛病。\n\n触发面不止 mainline:check:runtime/test 是工作区包 platform-tests,pnpm runtime:check:runtime\n第 5 步 turbo run test 就会跑到它。2026-09-18 实测:七个模块库建成 platform_\u003cm\u003e_acc0918 时\ne2e/chaos 整片以 MAINLINE_ISOLATED_DATABASE_REQUIRED 失败,该报告同时被清空。故「前置守卫段\n已修复、只有跑到一半才会写 failed」对本处不成立,本条一并写明救回方式。\n\n代码修复尚未做且本轮不做:runtime/test 正在三份验收报告的作用域里,重跑期间改它等于把刚跑出\n的绑定再作废一次。已登记在治理仓开发计划 §8 变更记录(2026-09-18)。\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-18T02:13:53-07:00"},{"Sha1":"bc44b4a3ccbdd4d16bd479c15f78c321a273e243","Message":"fix(governance): 工作台目录快照单列采纳形态,并按 Catalog 证据现算托管消费者数\n\n无运行时模块的 14 条 Catalog 条目此前被快照压成两类说法,两处都低报了 Catalog 已有的事实。\n\n一、form=adopted 的三条 P0(应用群网关 / 统一交付平台 / 集中观测平台)code_truth=null、\n无运行时模块,落进 none 分支后 note 写成「只保留历史设计引用,不可调用」。实际落点是本仓\n采纳的入口、collector 与发布/晋级门禁,evidence 里逐条登记(Caddyfile + check-caddy、\notel collector + check-otel、release-manifest + check-promotion),2026-09-16 经\nCHG-009 / 011 / 012 由 Owner 裁决改指采纳形态落点。新增 consumption.kind =\nadopted-infrastructure,判据取 Catalog 的 form,排在 code_truth 推断之前——这类能力本就\n不会有 runtime/modules 或契约包路径。当前 Catalog 下 none 归零。\n\n二、三条 module_e2 共用一句「迁出需三消费者 + G4 证据」,而 evidence 本就记着差别:\n公共文件 3 个、通知与 Webhook 3 个、配置与功能开关 1 个(与 contracts/README.md\n「配置平台尤其仍缺第二、第三消费者」一致)。hostedConsumerEvidence 按 evidence 里本仓之外的\n*acceptance*.json 依消费方仓去重计数,写进 consumption.consumers,note 按是否达到三消费者\n分开说。count \u003e= 3 只说明消费者验收证据齐,不代表 G4 已裁决。\n\n数据全部取自既有 Catalog 字段,不新设人工台账、不改 contracts/catalogs/、不动 Schema;\ndesign 只增透传的 form。consumption.kind 取值域扩了一个,枚举穷尽的消费者须回看,\nCATALOG_SCHEMA_VERSION 2 -\u003e 3,rules 两条措辞同步改。\n\n测试 8 -\u003e 9:真实输入用例断言三条采纳形态不落 none、三条托管条目的消费者数与 note 各不相同;\n新增一例专测消费者计数(同仓多份验收只算一个、本仓门禁产物不算、非 acceptance 不算)。\n篡改必红实测:短路 adopted 分支与阈值后 3 例转红。治理全量 323/323。\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-18T02:10:08-07:00"}],"HeadCommit":{"Sha1":"1b2328540134f0118d2e3ed9abe10095e2ae4679","Message":"chore(reports): 工作台两份快照回绑 @ 956c7b6\n\ndocs/runbook.md 在 workbench-ops-snapshot 的作用域里(error 级),上一条 §7 补注把它打成\n过期;同时 bc44b4a 改了 build-workbench-snapshots.mjs,两份快照的作用域都被碰到。经\npnpm reports:rebind --gates workbench-snapshots 在 HEAD 干净检出里重跑带回,两份均绑\n956c7b6 / worktreeDirty=false / status=ok。\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-18T02:15:12-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/32ad69a15ceb55e1cbcb170d7fdd47897e50c01b...1b2328540134f0118d2e3ed9abe10095e2ae4679","Len":4}...
|
1789723947
|
Edit
Delete
|
|
31101
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fd3ba87ed {"Commits":[{"Sha1":"fd3ba87ed111d9245012f0578178cccb4743ab20","Message":"chore(reports): B1 的二十八份静态证据 回绑 @ fb2fb1a,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 fb2fb1a(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=fb2fb1a、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\n本批次内两把锁各重签一次,都是「变更即复核」而非绕过:\n- kernel.exports.lock.json 763 → 755(statemachine 的 8 个导出归属转移给 @juhai/kernel)\n- check:kernel-downstream 的仓外夹具改为携带 scoped registry 后转绿;缺声明即 fail-closed\n 的分支已实活验证\n\n运行态未跑:B1 只动契约包的一个转发文件,contracts 312/312 与 typecheck 13/13 已覆盖;\n按仓规矩三级证据分开陈述,不用静态绿冒充运行态绿。runtime 报告仍绑在 dcd1c14,\n下次动到两后端(B3′ 采纳上游加固)时必须重跑。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T02:08:00-07:00"},{"Sha1":"fb2fb1a730a522c6210afc0223c84aaa6946194d","Message":"feat(contracts): B1 内核首次 exact pin @juhai/kernel@0.22.0,statemachine 改为转发\n\nB1 的目的是**验证机制**,不是搬最多的代码:装包、转发、门禁、锁四条链路全走一遍,\n用唯一可证明零行为变化的模块做载体。\n\n- packages/contracts exact pin @juhai/kernel@0.22.0(registry 上有 0.16.0/0.16.1/0.22.0)\n- statemachine.ts 改为**具名**转发 8 个符号。不用 `export * from \"@juhai/kernel\"`:\n 收口前本仓还留着 10 个未迁内核模块,整体 re-export 会与它们的同名导出冲突\n- 机制验证结果:typecheck 13/13 · contracts 312/312(statemachine.test.ts 打的就是转发后的\n 实现)· 整轮 28 步前 27 绿 · **check:platform-provenance 接受新 pin**(lock 解析到 Gitea\n registry tarball)· 所有权锁 763 → 755,8 个导出的归属转移给内核包\n\n**开工即修正一处自己的判断。** 上一轮我把五个模块叫「白拿」,依据只到导出名重合率。\n逐文件 diff 后:**只有 statemachine 逐字一致**(104 行 diff 0),其余四个实现都不同,\n且方向一致——框架领先、本仓落后,落后的正好是加固:\n\n replay 框架有 maxSeq + 「游标超前于现存最大 seq ⇒ 报缺口(cursor-unknown)」,\n 本仓没有 ⇒ 伪造/串号游标被静默判成「已追平」,客户端永远收不到补发;\n 框架同时修了契约文件内部自相矛盾的 dispatchedAt 注释\n realtime-command 框架有 REALTIME_WS_MAX_PAYLOAD_BYTES,本仓 WS 载荷无上限\n subscription 框架有 REALTIME_MAX_SUBSCRIPTION_IDS/_TYPES,本仓订阅列表无上限\n realtime-stats 本仓是严格超集(多 10 个死信域导出),采纳时要保留\n\n前两类偏 DoS 面。这四个不是「白拿」而是「采纳上游加固」,要改两后端并重跑运行态,\n已从 B1 移入 B3′。立项 §2 加了修正块、§5 改了批次表。\n\n**两处实测新增风险(立项 §6):**\n\n一、跨层 peer 不一致。已发布的 @juhai/client-fact@1.0.0-rc.3 声明 peer @juhai/kernel: 0.16.1\n(lockfile 权威),而控制面仓里**同版本的源码**声明 0.22.0——控制面昨天做框架同步时改了\n源码却没重新发布。本仓 pin 0.22.0 后 pnpm install 报 unmet peer(警告,不阻断),\n**且现有门禁一条都抓不到**。三条出路(等平台重发 / 本仓退回 0.16.1 / 登记偏差并加 peer\n判据)本提交不代为决定,登记在立项 §6 等裁。\n\n二、pin 的下游代价,由 check:kernel-downstream 第一时间抓到:它在仓外装 contracts 以证明\n下游可消费,而仓外没有 .npmrc,@juhai/kernel 落到 npmjs.org 上 404。这不是门禁的毛病,\n是 pin 的真实代价——**任何消费方不配 @juhai scoped registry 就装不上**(框架 F11 原文同样\n这么声明)。处理:夹具复制仓内 .npmrc 的 scoped registry 行,把断言坐实为「配了 registry\n的消费者装得上」;并在「pin 了 @juhai/* 却无 registry 声明」时 **fail-closed**,绝不静默\n回落到公共 registry(实活验证:去掉声明即 D4 红)。新前提已写进接入手册,五个产品仓\n迁移时要同步配置。\n\n顺带一个可复用的性质:check:kernel-admission 的 K1 只计**直接声明**,所以每迁走一个模块,\n锁里的自有导出数就降一次——它天然成了这条线的进度计(763 → 755)。\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-18T02:06:23-07:00"}],"HeadCommit":{"Sha1":"fd3ba87ed111d9245012f0578178cccb4743ab20","Message":"chore(reports): B1 的二十八份静态证据 回绑 @ fb2fb1a,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 fb2fb1a(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=fb2fb1a、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\n本批次内两把锁各重签一次,都是「变更即复核」而非绕过:\n- kernel.exports.lock.json 763 → 755(statemachine 的 8 个导出归属转移给 @juhai/kernel)\n- check:kernel-downstream 的仓外夹具改为携带 scoped registry 后转绿;缺声明即 fail-closed\n 的分支已实活验证\n\n运行态未跑:B1 只动契约包的一个转发文件,contracts 312/312 与 typecheck 13/13 已覆盖;\n按仓规矩三级证据分开陈述,不用静态绿冒充运行态绿。runtime 报告仍绑在 dcd1c14,\n下次动到两后端(B3′ 采纳上游加固)时必须重跑。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T02:08:00-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/ee4bc06608d88515f025c3a2dcffacb9f47c5417...fd3ba87ed111d9245012f0578178cccb4743ab20","Len":2}...
|
1789722483
|
Edit
Delete
|
|
31100
|
5
|
5
|
5
|
116
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"32ad69a15 {"Commits":[{"Sha1":"32ad69a15ceb55e1cbcb170d7fdd47897e50c01b","Message":"chore(reports): check:caddy 回绑 @ 426a7df\n\n干净检出(.worktrees/rebind-426a7df)重跑,worktreeDirty=false;\n两个 profile 各 0 违规,caddy validate 经 docker 两份都 passed(不是 skipped)。\n报告新增 workbench 段,其中 guardsDocumentNavigation=false 是登记事实:\n入口鉴权只挡带 Authorization 头的数据面,纯静态 SPA 的文档导航挡不住。\n\n主工作区有并行会话 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-18T02:05:49-07:00"},{"Sha1":"588e5ab9459d1df433f3a32b44a4afe589b6a9b7","Message":"chore(reports): check:gate-flow 回绑 @ aaf43ee\n\ncontracts:check 由 tool 订正为 gate 后重跑:46 个脚本、34 个有消费入口、\n12 个流外(门禁 5 / 工具 7)、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-18T02:04:43-07:00"},{"Sha1":"426a7df100b7b8c2c82179f2b184ed066f6ceba6","Message":"feat(stack,governance,workbench): 工作台同源托管与 /api/platform/* 入口鉴权(CHG-018 阶段 ②)\n\nCaddy 两个 profile 同步改:根路径托管工作台静态产物(产物未挂载时回原占位响应),\n/_next/* 先在产物里找文件、找不到才回身份 Web,@platform 块内对 /api/platform/*\n做 forward_auth → /t/{$PLATFORM_WORKBENCH_TENANT}/oidc/userinfo。租户空值即\n/t//oidc/userinfo → 上游 404 → 整段拒绝,不配置 = 不放行,与 PLATFORM_OPS_* 同纪律。\n\n入口只挡带 Authorization 头的数据面,挡不住文档导航:工作台是纯静态 SPA,令牌进\nsessionStorage 不进 cookie,浏览器发文档请求时网关手上没有可校验的凭据。要挡住静态壳\n就得有个发 cookie 的边缘会话组件,与 CHG-018 §5.1 已裁的形态相抵,须另起 CHG。这条\n边界写进 caddy-routes.json 的登记与报告的 guardsDocumentNavigation,不靠读代码猜。\n\n连带修好取数链路:三个读面的 accessToken 此前从没有调用方传过值(读面本来公开),\n入口挡上后工作台登录了也会永远 401。现改为必填形参;hooks 从 session store 取令牌,\n身份(不是令牌)进 queryKey,补水前不发请求,退出时清缓存。\n\ncheck:caddy 增 workbench 段与四条规则,两 profile 各 0 违规、caddy validate 经 docker\n两份都 passed;六条负向用例逐条先红后绿。另修一条已失效的旧夹具:UPSTREAM_MISSING 那条\n用 String.replace 只换第一处,forward_auth 引入同名变量后它再也换不到 reverse_proxy,\n改 replaceAll 并补一条「确实解绑了上游」的断言。\n\ndev 运行态取证与未闭环项(D-8 判责码语义、D-9 门禁守不住的绕过、D-10 issuer 不一致、\n带有效令牌的 200 分支未实测)见 docs/工作台同源托管与入口鉴权实现记录-2026-09-18.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-18T02:04:42-07:00"},{"Sha1":"aaf43ee0442d5b4a5d36325a92c1ae5bbff3c76b","Message":"chore(reports): 工作台目录与运维快照回绑 @ 8a53c39\n\n在 8a53c39 的临时干净检出里重跑 `node governance/build-workbench-snapshots.mjs`\n(主工作树有并行会话的在途改动,就地跑只能产出 worktreeDirty=true 的绑定)。\n\n目录快照:schemaVersion 2,21 条 → stale 7 / not-in-manifest 14,conflicts 0。\n运维快照:schemaVersion 仍为 1,内容未变,只因生成脚本进了它的作用域而一并回绑。\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-18T02:04:29-07:00"},{"Sha1":"90f3b99b5976b58431097147662a1253b096840c","Message":"fix(governance): 订正 gate-flow 把 contracts:check 登记成 tool——它是一道有人写、没人跑的门禁\n\n昨天登记它时我写的是「role: tool,组成部分已被消费:check:local 在根 check 链与 CI\nstatic job 里」。**那是错的。** `contracts check` 比 `check:local` 多跑一个\n`scripts/check.mjs`,而那正是**对真实 Catalog 跑治理 linter** 的那一道:checkRegistry\n校验 8 份 Catalog、决议状态、应用清单、Fact 与权限命名、scopes 的阻断引用。\n`check:local` 只跑 schema-compatibility / impact-graph / check:generated / build / test。\n根链与 CI 用的都是 check:local,所以真实 Catalog 的治理判定**不在任何自动流里**,\n只有人手动敲 `pnpm contracts:check` 才会发生。\n\n技术原因不是疏忽:linter 需要工作区根(Catalog 的 directory / code_truth / evidence 与\n决议 source 都是相对工作区的路径),CI 只 checkout 本仓,接进根链会以\nWORKSPACE_ROOT_UNRESOLVED 退出 2——check:local 正是为此存在。\n\n**但挡它在链外的历史理由已经不成立。** CLAUDE.md 当前状态节写着「`check` 余 6 项\nPLATFORM_PROJECT_UNREGISTERED 待 CHG-001」,2026-09-18 实测**已全部通过**:\n17 draft apps / 168 governed entity / 11 draft fact / 9 permission resource /\n39 decisions(32 approved / 3 pending)/ 21 platform projects(19 in goal scope),\nschema 兼容 11/11 immutable,影响图 258 节点 297 边。又一次「条件早已满足而无人察觉」。\n\n已改为 role: gate,带 reason / wireInWhen / conditionReviewBy(2026-10-31):剩下的\n只是工作区可达性,两条路二选一需裁决——给 CI 一条能取到工作区的 job(或把 linter 需要\n的工作区事实快照进本仓),或在工作区侧另起 workspace-only 链由治理层消费。\nCLAUDE.md 那句已划掉并补上实测与原因,免得下一个会话照着旧结论重走一遍。\n\n流外分布随之 4 门禁 / 8 工具 → 5 门禁 / 7 工具。\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-18T02:04:23-07:00"}],"HeadCommit":{"Sha1":"32ad69a15ceb55e1cbcb170d7fdd47897e50c01b","Message":"chore(reports): check:caddy 回绑 @ 426a7df\n\n干净检出(.worktrees/rebind-426a7df)重跑,worktreeDirty=false;\n两个 profile 各 0 违规,caddy validate 经 docker 两份都 passed(不是 skipped)。\n报告新增 workbench 段,其中 guardsDocumentNavigation=false 是登记事实:\n入口鉴权只挡带 Authorization 头的数据面,纯静态 SPA 的文档导航挡不住。\n\n主工作区有并行会话 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-18T02:05:49-07:00"},"CompareURL":"luoanwu/enterprise-platform/compare/1e6f71d846a9ad3bcbd04a3f2b5fdb3f69ca1884...32ad69a15ceb55e1cbcb170d7fdd47897e50c01b","Len":11}...
|
1789722432
|
Edit
Delete
|
|
31099
|
5
|
5
|
5
|
117
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6b045590e {"Commits":[{"Sha1":"6b045590e6ba93dd703453bc478b3b6c879491f3","Message":"docs(计划): 订正 contracts:check 的登记,并登记偏差 #37 / #38\n\n#38:真实 Catalog 的治理判定不在任何自动流里。contracts/scripts/check.mjs 只在\ncontracts check 里,链与 CI 用的都是 check:local。挡它在链外的历史理由(余 6 项待\nCHG-001)经实测已全部通过——又一次「条件早已满足而无人察觉」。\n\n#37:CHG-007 立的「闸门 blocked_by vs 溯源 decided_by」只应用在 facts 的一条事实上,\nrelationships 与 scopes 仍有 4 条阻断声明指向已批准的 DEC-002 / DEC-004,且当时没留\n探测器。改 Catalog 归 Catalog Owner,本轮只登记不改数据;也没给 linter 加探测器,\n因为给一道没人跑的门禁加规则是无用功,次序上要先解决 #38。\n\n同时订正前一轮把 contracts:check 登记成 tool 的错误,并记下本轮一次把并行会话文件\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-18T02:05:35-07:00"}],"HeadCommit":{"Sha1":"6b045590e6ba93dd703453bc478b3b6c879491f3","Message":"docs(计划): 订正 contracts:check 的登记,并登记偏差 #37 / #38\n\n#38:真实 Catalog 的治理判定不在任何自动流里。contracts/scripts/check.mjs 只在\ncontracts check 里,链与 CI 用的都是 check:local。挡它在链外的历史理由(余 6 项待\nCHG-001)经实测已全部通过——又一次「条件早已满足而无人察觉」。\n\n#37:CHG-007 立的「闸门 blocked_by vs 溯源 decided_by」只应用在 facts 的一条事实上,\nrelationships 与 scopes 仍有 4 条阻断声明指向已批准的 DEC-002 / DEC-004,且当时没留\n探测器。改 Catalog 归 Catalog Owner,本轮只登记不改数据;也没给 linter 加探测器,\n因为给一道没人跑的门禁加规则是无用功,次序上要先解决 #38。\n\n同时订正前一轮把 contracts:check 登记成 tool 的错误,并记下本轮一次把并行会话文件\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-18T02:05:35-07:00"},"CompareURL":"luoanwu/platform-governance/compare/d5323e2b149e012cd3340f330a860c232d285738...6b045590e6ba93dd703453bc478b3b6c879491f3","Len":1}...
|
1789722339
|
Edit
Delete
|
|
31098
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"ee4bc0660 {"Commits":[{"Sha1":"ee4bc06608d88515f025c3a2dcffacb9f47c5417","Message":"chore(reports): B0 裁决的二十八份静态证据 回绑 @ 1f74faa,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 1f74faa(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1f74faa、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\nB0 只落裁决未改代码,故 fork-readiness 的 frameworkCriteriaCoverage 不变:declared 14 /\nregisteredMissing 3(F8 / F11 / F14)/ 交叉核对 verified。F11 现挂 adjudication:\"B0\",\n但按 B0 口径实现的 F11 断言要到 B5 才落——在那之前 F11 仍是诚实的 missing。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T01:58:16-07:00"},{"Sha1":"1f74faae838116a4d546b0edaf75f4fcba026cfc","Message":"docs(决策): B0 裁决 A2——F11 对派生仓改判为「pin == 凭证 source.frameworkVersion」\n\n内核退回 pin 立项 §4 挂的那条口径已裁。框架 F11 断言「@juhai/kernel 的 pin 必须等于本仓\npackage.json.version」(框架版本轴 = 内核版本轴),这条对框架自身成立,对本仓不成立:\n本仓 version 停在 0.1.0、0 个 tag,而根版本同时要服务「产品仓钉 OS」。\n\n**裁为 A2:本仓建立自己的版本轴;F11 迁入时改判为**\n\n contracts 对 @juhai/kernel 的 exact pin 必须等于\n reports/framework-migration.latest.json 的 source.frameworkVersion\n\n三条理由:\n- F11 的意图是「pin 与所同步的框架版本一致、落后几代可判定」,用凭证里的\n source.frameworkVersion 表达同样成立,且不强求派生仓与框架共用版本号\n- 若照框架原文把根版本设成 0.22.0,产品仓钉的「OS 版本」其实是框架版本,\n 缺失梳理 §4.4 不但没解决,还被永久占用\n- **该字段凭证里已经有**(record-migration.mjs 从源仓 package.json 读取),本口径\n 不需要新增任何东西——这是选 A2 而非提 FR 阻塞的关键\n\n**不照控制面先例的原因是形态不同。** 企业控制面走的是拆根:runtime/package.json 版本\n直接设为框架版本 0.22.0,故 F11 原文成立;仓根 0.1.0 与 contracts/ 1.0.0-rc.3 各留自己的\n版本。本仓是单 pnpm 根,用不了这个办法;改多根(立项 §4 的 A3)会牵动 turbo 布局、\n13 个 typecheck 任务与所有门禁的路径假设,不在这条线上做。\n\n**版本轴起点同批裁为「留到 B5 定」**:版本号要到 B5 签凭证、真正对外表达兼容范围时才\n用得上,那时内核换源的实际破坏面已清楚,定起点更有依据;现在定等于凭空拍。\n\n落点:framework-criteria.json 新增 adjudications.B0(含 assertion / rationale / precedent /\ndeferred / upstreamFeedback 五段),F11 挂 adjudication:\"B0\" 引用;立项书 §4 标已裁决、\n§5 的 B0 行标完成。CLAUDE.md 可迁移性节同步。\n\nB5 退出门顺带补两项:① 定版本轴起点(B0 顺延项);② check:fork-readiness 按本裁决实现\nF11 断言时,同时加一条 adjudication 引用完整性判据——criteria.\u003cid\u003e.adjudication 指向的 key\n必须存在于 adjudications,防悬空引用,与 D4 防「空口宣称」同型。本批按立项 §5 不改代码,\n故该判据留到 B5 一并落。\n\n上游回灌(不阻塞):可向框架提 FR,让 F11 区分「框架仓」与「派生仓」两种形态。\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-18T01:56:44-07:00"}],"HeadCommit":{"Sha1":"ee4bc06608d88515f025c3a2dcffacb9f47c5417","Message":"chore(reports): B0 裁决的二十八份静态证据 回绑 @ 1f74faa,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 1f74faa(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1f74faa、worktreeDirty:false)。\n整轮 28 步全执行,前 27 步全绿,末步 check:kernel-admission 仍是那 8 处已知诚实红。\n\nB0 只落裁决未改代码,故 fork-readiness 的 frameworkCriteriaCoverage 不变:declared 14 /\nregisteredMissing 3(F8 / F11 / F14)/ 交叉核对 verified。F11 现挂 adjudication:\"B0\",\n但按 B0 口径实现的 F11 断言要到 B5 才落——在那之前 F11 仍是诚实的 missing。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-09-18T01:58:16-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/117a379da5e5d31ea07d5b61eb2dcdfce479d5db...ee4bc06608d88515f025c3a2dcffacb9f47c5417","Len":2}...
|
1789721899
|
Edit
Delete
|
|
31097
|
10
|
5
|
11
|
23
|
0
|
0
|
refs/heads/admin-260915
|
0
|
{"Commits":[{"Sha1":"e38218cd2 {"Commits":[{"Sha1":"e38218cd25e98e7e652892a07e700718e8a508a4","Message":"客户满意度批量作废确定弹窗\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T16:57:43+08:00"}],"HeadCommit":{"Sha1":"e38218cd25e98e7e652892a07e700718e8a508a4","Message":"客户满意度批量作废确定弹窗\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T16:57:43+08:00"},"CompareURL":"vodtest/admin/compare/6ae1c8f25aeeb4516dfae1a019dc8dddb492ebf8...e38218cd25e98e7e652892a07e700718e8a508a4","Len":1}...
|
1789721872
|
Edit
Delete
|
|
31096
|
8
|
5
|
11
|
23
|
0
|
0
|
refs/heads/admin-260915
|
0
|
{"Commits":[{"Sha1":"e38218cd2 {"Commits":[{"Sha1":"e38218cd25e98e7e652892a07e700718e8a508a4","Message":"客户满意度批量作废确定弹窗\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T16:57:43+08:00"}],"HeadCommit":{"Sha1":"e38218cd25e98e7e652892a07e700718e8a508a4","Message":"客户满意度批量作废确定弹窗\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyu","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyu","Timestamp":"2026-09-18T16:57:43+08:00"},"CompareURL":"vodtest/admin/compare/6ae1c8f25aeeb4516dfae1a019dc8dddb492ebf8...e38218cd25e98e7e652892a07e700718e8a508a4","Len":1}...
|
1789721872
|
Edit
Delete
|