|
24103
|
chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a...
|
76
|
5
|
platform-governance.yml
|
59
|
5
|
0
|
refs/heads/main
|
832f9b2e5ab646a48adbf37b80db1d41092f2f7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"614681e6e78d0385bbf043ef964bd444d8e5958b","after":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/614681e6e78d0385bbf043ef964bd444d8e5958b...832f9b2e5ab646a48adbf37b80db1d41092f2f7e","commits":[{"id":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","message":"chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a\n\n十三份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions / statemachine-write-guard / list-bounds /\nfork-readiness 十二绿;kernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),\n与三步拆分前逐条一致——全程未引入新红,也未消除旧红。\n\n三步各自撞到的门禁都如实红过再修,没有一处是先改门禁再做变更:\n第一步 K1(导出归属漂移);第二步 K1 + kernel-packages P7(公开面变更须伴随版本上调)\n+ kernel-downstream D1(下游安装版本随之重签);第三步同上两处 P7 / D1。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/832f9b2e5ab646a48adbf37b80db1d41092f2f7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:12:22-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"a0a9f1aa5d77ac7d1c9b74a3e445a323a205f5b6","message":"refactor(contracts): tenant.ts 拆分第三步——自建权限改名 authorization.ts,tenant 之名腾空\n\n第一步迁出 work 域判定、第二步迁出自建身份之后,tenant.ts 剩下的 22 个导出整体就是\n「自建权限」一类。因此第三步不是搬符号,是给文件正名。\n\n packages/contracts/src/tenant.ts → packages/contracts/src/authorization.ts\n\n改名本身的价值不只是可读性:OS 的 tenant.ts 与框架 @juhai/kernel 的同名文件**共有导出 0 个**,\n框架那份是租户解析策略(normalizeTenantId / tenantIdFromClaims / decideTenantResolution /\nresolveAuthMode / AUTH_MODES),OS 一个都没有。两个同名不同义的文件是「形似而神不同」漂移\n最典型的载体。改名之后 tenant.ts 这个名字腾空,留给内核退回 pin 时由 @juhai/kernel 提供的\n真正租户原语——顺带补上 OS 现在缺的 tenantId 形状与长度校验(当前主口径是无上限的\nz.string().min(1),另有两处 .max(128) 与 employment-projection.ts 的 ^ten_.+$,三套并存)。\n\n同步改动:\n\n- 六处 import 改指:identity.ts / outcome.ts / task.ts / index.ts / kernel.ts / contracts.test.ts。\n- check-dual-backend-parity.mjs 的 C52 两条断言(权限目录与角色默认值、ALLOW/DENY 优先级)\n 改指 authorization.ts。C52 没有专用负向探针,但 expectSource 对缺失文件计 missing file\n 违规(fail-closed),门禁绿即证明两条断言在新路径上真实命中,不是指向不存在文件的假绿。\n- kernel.boundaries.json:CORE 的 contractModules 由 tenant.ts 改为 authorization.ts。\n- check-kernel-admission.mjs 头部叙述里的 tenant.ts 改为历史表述,不再指向已不存在的路径。\n- @repo/contracts 1.17.0 → 1.18.0(根与 kernel 两个 barrel 的 export 行都变了,P7 要求公开面\n 变更伴随版本上调);kernel.packages.lock.json / kernel.downstream.lock.json /\n kernel.exports.lock.json 三把锁随之重签。\n\n本步**未**把自建权限移出 @repo/contracts/kernel 子路径。按同一套理由(铁律三:平台拥有规则)\n它和自建身份一样不属于跨产品必需的内核契约,但从已声明的稳定子路径上摘除符号是**破坏性\n收窄**,应单独裁定并走主版本号,不随改名夹带。实测当前 kernel 子路径的唯一消费者是下游夹具\n的命名空间导入,产品侧零具名消费——真要摘,成本主要在版本语义而非调用方。\n\n三步累计:tenant.ts 1075 行 / 65 导出 → authorization.ts 273 行 / 22 导出\n+ identity.ts 818 行 / 23 导出 + task.ts / outcome.ts 各收 3 / 1 个 + 17 个降私有。\n\n验证:@repo/contracts 24 文件 312/312(三步前后四次逐次一致,行为中性);typecheck 13/13;\nnaming / schema / validation / contract-consumers / dual-backend / kernel-boundaries /\nkernel-packages / kernel-downstream / kernel-extensions / write-guard / list-bounds /\nfork-readiness 十二门全绿;kernel-admission 仍是引入时那 8 处,未引入新红。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a0a9f1aa5d77ac7d1c9b74a3e445a323a205f5b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:11:37-07:00","added":["packages/contracts/src/authorization.ts"],"removed":["packages/contracts/src/tenant.ts"],"modified":["kernel.boundaries.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/identity.ts","packages/contracts/src/index.ts","packages/contracts/src/kernel.ts","packages/contracts/src/outcome.ts","packages/contracts/src/task.ts","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-admission.mjs"]},{"id":"d7c932b537561ae02bcc860d506fea7c1d878b30","message":"chore(reports): tenant.ts 拆分第二步的十份静态门禁证据 回绑 @ 439c6f7\n\n十份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions 九绿;kernel-admission 仍是引入时那 8 处\n(K3 一处 + K4 七处),与两步拆分前逐条一致——未引入新红,也未消除旧红。\n\n本步中 kernel-packages 的 P7 与 kernel-downstream 的 D1 都如实报过红:前者要求根 barrel\n新增导出必须伴随版本上调(@repo/contracts 1.16.0 → 1.17.0),后者要求下游夹具的安装版本\n随之重签。两处都是设计内的「变更即复核」,不是绕过。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d7c932b537561ae02bcc860d506fea7c1d878b30","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:08:09-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"439c6f7e34f48f718f18479aa1dd2e9a9e3fcfe1","message":"refactor(contracts): tenant.ts 拆分第二步——自建身份迁出 identity.ts\n\n框架 @juhai/kernel 的 tenant.ts 在 0.4.0—0.7.0 之间把边界写死为「本文件只做策略,\n不做验签」:验签需要密钥/JWKS,而契约包被 web 直接 import,密钥语义不能泄漏进浏览器包。\nOS 分叉于框架 0.1.0,没见过这条边界,于是策略、验签、自建权限、work 域判定四类长进了\n同一个文件。第一步已迁出 work 域判定,本步迁出身份一类。\n\n packages/contracts/src/identity.ts(新增,818 行 / 23 导出)\n 验签原语(注入式,契约包自身不 import node:crypto)、JWKS 密钥库、\n 浏览器身份与会话、OIDC PKCE 三组 schema、启动姿态门、实时连接过期、\n 鉴权入口 resolveTenantAuth,以及 token 解码/比对等私有管道\n\n packages/contracts/src/tenant.ts(273 行 / 22 导出,原 1042 行 / 44 导出)\n 只剩自建权限一类:角色与权限词汇表、ALLOW/DENY 判定、授权 DTO、审计载荷\n\n两处归属判断值得记下:\n\n- bindAuditActorSubject / AuditActorBinding 一并迁入 identity.ts。它绑定的是**已验签的\n sub**,属身份来源而非授权判定;留在 tenant.ts 会让授权侧反向依赖 TenantAuthPosture,\n identity ↔ tenant 成环。\n- roleFromClaim 留在 tenant.ts 并升为导出。它是角色词汇表的一部分(claim → 合法角色),\n 两侧都要用;反过来把它搬进 identity 会让 resolveEffectiveRole 反向依赖,同样成环。\n\n依赖方向单向:identity → tenant(借 TENANT_ROLES / TenantRole / roleFromClaim),\ntenant 不反向依赖 identity。切分前已用脚本枚举 75 个顶层声明的引用图逐条验证无反向边。\n\nidentity.ts **不进 @repo/contracts/kernel 子路径**,只经根 barrel 导出:自建身份不是跨产品\n必需的内核契约,后续应换成企业 IdP 的 client-identity。\n\n同步改动:\n\n- check-dual-backend-parity.mjs 三处按路径钉在 tenant.ts 的断言改指 identity.ts——\n C51(启动姿态判定与断言)、C181(实时过期策略)、C73(已验签 sub 的审计主体绑定)。\n 改完用门禁自带负向探针验活:DUAL_BACKEND_NEGATIVE_PROBE=missing-realtime-auth-expiry\n 与 =missing-audit-actor-binding 均如期转红,断言不是改成了指向不存在文件的假绿。\n C52 两条仍在 tenant.ts(权限目录与 ALLOW/DENY 优先级未动)。\n- kernel.boundaries.json:identity.ts 登记进 CORE 的 contractModules(30 → 31)。\n- @repo/contracts 1.16.0 → 1.17.0。check:kernel-packages 的 P7 要求公开面变更必须伴随\n 版本上调;根 barrel 新增一行 export * 是加法变更,取次版本。kernel.packages.json 与\n kernel.packages.lock.json / kernel.downstream.lock.json 随之重签(后者只改版本号一行)。\n\n顺带修正上一笔提交里的说法,方向不变但更准确:check:kernel-packages 的 apiDigest 只哈希\nrequiredExports 入口的 .d.ts,而入口就是 barrel——它看得见「根 barrel 多了一行 export *」,\n看不见任何具体符号的增删。上一步降私有 17 个符号它全绿,正是这个原因。\n\n验证:@repo/contracts 24 文件 312/312(三次拆分前后逐次一致,行为中性);typecheck 13/13;\nnaming / schema / validation / contract-consumers / dual-backend / kernel-boundaries /\nkernel-packages / kernel-downstream / kernel-extensions 九门全绿;kernel-admission 仍是\n引入时那 8 处(K3 一处 + K4 七处),未引入新红。kernel.exports.lock.json 重签为\n39 个模块 / 763 个导出。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/439c6f7e34f48f718f18479aa1dd2e9a9e3fcfe1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:07:27-07:00","added":["packages/contracts/src/identity.ts"],"removed":[],"modified":["kernel.boundaries.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/tenant.ts","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","message":"chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a\n\n十三份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions / statemachine-write-guard / list-bounds /\nfork-readiness 十二绿;kernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),\n与三步拆分前逐条一致——全程未引入新红,也未消除旧红。\n\n三步各自撞到的门禁都如实红过再修,没有一处是先改门禁再做变更:\n第一步 K1(导出归属漂移);第二步 K1 + kernel-packages P7(公开面变更须伴随版本上调)\n+ kernel-downstream D1(下游安装版本随之重签);第三步同上两处 P7 / D1。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/832f9b2e5ab646a48adbf37b80db1d41092f2f7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:12:22-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85288,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-18T16:02:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1789719161
|
1789719169
|
0
|
1789719151
|
1789719175
|
|
|
0
|
Edit
Delete
|
|
24102
|
chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a...
|
76
|
5
|
governance.yml
|
58
|
5
|
0
|
refs/heads/main
|
832f9b2e5ab646a48adbf37b80db1d41092f2f7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"614681e6e78d0385bbf043ef964bd444d8e5958b","after":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/614681e6e78d0385bbf043ef964bd444d8e5958b...832f9b2e5ab646a48adbf37b80db1d41092f2f7e","commits":[{"id":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","message":"chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a\n\n十三份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions / statemachine-write-guard / list-bounds /\nfork-readiness 十二绿;kernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),\n与三步拆分前逐条一致——全程未引入新红,也未消除旧红。\n\n三步各自撞到的门禁都如实红过再修,没有一处是先改门禁再做变更:\n第一步 K1(导出归属漂移);第二步 K1 + kernel-packages P7(公开面变更须伴随版本上调)\n+ kernel-downstream D1(下游安装版本随之重签);第三步同上两处 P7 / D1。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/832f9b2e5ab646a48adbf37b80db1d41092f2f7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:12:22-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"a0a9f1aa5d77ac7d1c9b74a3e445a323a205f5b6","message":"refactor(contracts): tenant.ts 拆分第三步——自建权限改名 authorization.ts,tenant 之名腾空\n\n第一步迁出 work 域判定、第二步迁出自建身份之后,tenant.ts 剩下的 22 个导出整体就是\n「自建权限」一类。因此第三步不是搬符号,是给文件正名。\n\n packages/contracts/src/tenant.ts → packages/contracts/src/authorization.ts\n\n改名本身的价值不只是可读性:OS 的 tenant.ts 与框架 @juhai/kernel 的同名文件**共有导出 0 个**,\n框架那份是租户解析策略(normalizeTenantId / tenantIdFromClaims / decideTenantResolution /\nresolveAuthMode / AUTH_MODES),OS 一个都没有。两个同名不同义的文件是「形似而神不同」漂移\n最典型的载体。改名之后 tenant.ts 这个名字腾空,留给内核退回 pin 时由 @juhai/kernel 提供的\n真正租户原语——顺带补上 OS 现在缺的 tenantId 形状与长度校验(当前主口径是无上限的\nz.string().min(1),另有两处 .max(128) 与 employment-projection.ts 的 ^ten_.+$,三套并存)。\n\n同步改动:\n\n- 六处 import 改指:identity.ts / outcome.ts / task.ts / index.ts / kernel.ts / contracts.test.ts。\n- check-dual-backend-parity.mjs 的 C52 两条断言(权限目录与角色默认值、ALLOW/DENY 优先级)\n 改指 authorization.ts。C52 没有专用负向探针,但 expectSource 对缺失文件计 missing file\n 违规(fail-closed),门禁绿即证明两条断言在新路径上真实命中,不是指向不存在文件的假绿。\n- kernel.boundaries.json:CORE 的 contractModules 由 tenant.ts 改为 authorization.ts。\n- check-kernel-admission.mjs 头部叙述里的 tenant.ts 改为历史表述,不再指向已不存在的路径。\n- @repo/contracts 1.17.0 → 1.18.0(根与 kernel 两个 barrel 的 export 行都变了,P7 要求公开面\n 变更伴随版本上调);kernel.packages.lock.json / kernel.downstream.lock.json /\n kernel.exports.lock.json 三把锁随之重签。\n\n本步**未**把自建权限移出 @repo/contracts/kernel 子路径。按同一套理由(铁律三:平台拥有规则)\n它和自建身份一样不属于跨产品必需的内核契约,但从已声明的稳定子路径上摘除符号是**破坏性\n收窄**,应单独裁定并走主版本号,不随改名夹带。实测当前 kernel 子路径的唯一消费者是下游夹具\n的命名空间导入,产品侧零具名消费——真要摘,成本主要在版本语义而非调用方。\n\n三步累计:tenant.ts 1075 行 / 65 导出 → authorization.ts 273 行 / 22 导出\n+ identity.ts 818 行 / 23 导出 + task.ts / outcome.ts 各收 3 / 1 个 + 17 个降私有。\n\n验证:@repo/contracts 24 文件 312/312(三步前后四次逐次一致,行为中性);typecheck 13/13;\nnaming / schema / validation / contract-consumers / dual-backend / kernel-boundaries /\nkernel-packages / kernel-downstream / kernel-extensions / write-guard / list-bounds /\nfork-readiness 十二门全绿;kernel-admission 仍是引入时那 8 处,未引入新红。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a0a9f1aa5d77ac7d1c9b74a3e445a323a205f5b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:11:37-07:00","added":["packages/contracts/src/authorization.ts"],"removed":["packages/contracts/src/tenant.ts"],"modified":["kernel.boundaries.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/identity.ts","packages/contracts/src/index.ts","packages/contracts/src/kernel.ts","packages/contracts/src/outcome.ts","packages/contracts/src/task.ts","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-admission.mjs"]},{"id":"d7c932b537561ae02bcc860d506fea7c1d878b30","message":"chore(reports): tenant.ts 拆分第二步的十份静态门禁证据 回绑 @ 439c6f7\n\n十份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions 九绿;kernel-admission 仍是引入时那 8 处\n(K3 一处 + K4 七处),与两步拆分前逐条一致——未引入新红,也未消除旧红。\n\n本步中 kernel-packages 的 P7 与 kernel-downstream 的 D1 都如实报过红:前者要求根 barrel\n新增导出必须伴随版本上调(@repo/contracts 1.16.0 → 1.17.0),后者要求下游夹具的安装版本\n随之重签。两处都是设计内的「变更即复核」,不是绕过。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d7c932b537561ae02bcc860d506fea7c1d878b30","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:08:09-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"439c6f7e34f48f718f18479aa1dd2e9a9e3fcfe1","message":"refactor(contracts): tenant.ts 拆分第二步——自建身份迁出 identity.ts\n\n框架 @juhai/kernel 的 tenant.ts 在 0.4.0—0.7.0 之间把边界写死为「本文件只做策略,\n不做验签」:验签需要密钥/JWKS,而契约包被 web 直接 import,密钥语义不能泄漏进浏览器包。\nOS 分叉于框架 0.1.0,没见过这条边界,于是策略、验签、自建权限、work 域判定四类长进了\n同一个文件。第一步已迁出 work 域判定,本步迁出身份一类。\n\n packages/contracts/src/identity.ts(新增,818 行 / 23 导出)\n 验签原语(注入式,契约包自身不 import node:crypto)、JWKS 密钥库、\n 浏览器身份与会话、OIDC PKCE 三组 schema、启动姿态门、实时连接过期、\n 鉴权入口 resolveTenantAuth,以及 token 解码/比对等私有管道\n\n packages/contracts/src/tenant.ts(273 行 / 22 导出,原 1042 行 / 44 导出)\n 只剩自建权限一类:角色与权限词汇表、ALLOW/DENY 判定、授权 DTO、审计载荷\n\n两处归属判断值得记下:\n\n- bindAuditActorSubject / AuditActorBinding 一并迁入 identity.ts。它绑定的是**已验签的\n sub**,属身份来源而非授权判定;留在 tenant.ts 会让授权侧反向依赖 TenantAuthPosture,\n identity ↔ tenant 成环。\n- roleFromClaim 留在 tenant.ts 并升为导出。它是角色词汇表的一部分(claim → 合法角色),\n 两侧都要用;反过来把它搬进 identity 会让 resolveEffectiveRole 反向依赖,同样成环。\n\n依赖方向单向:identity → tenant(借 TENANT_ROLES / TenantRole / roleFromClaim),\ntenant 不反向依赖 identity。切分前已用脚本枚举 75 个顶层声明的引用图逐条验证无反向边。\n\nidentity.ts **不进 @repo/contracts/kernel 子路径**,只经根 barrel 导出:自建身份不是跨产品\n必需的内核契约,后续应换成企业 IdP 的 client-identity。\n\n同步改动:\n\n- check-dual-backend-parity.mjs 三处按路径钉在 tenant.ts 的断言改指 identity.ts——\n C51(启动姿态判定与断言)、C181(实时过期策略)、C73(已验签 sub 的审计主体绑定)。\n 改完用门禁自带负向探针验活:DUAL_BACKEND_NEGATIVE_PROBE=missing-realtime-auth-expiry\n 与 =missing-audit-actor-binding 均如期转红,断言不是改成了指向不存在文件的假绿。\n C52 两条仍在 tenant.ts(权限目录与 ALLOW/DENY 优先级未动)。\n- kernel.boundaries.json:identity.ts 登记进 CORE 的 contractModules(30 → 31)。\n- @repo/contracts 1.16.0 → 1.17.0。check:kernel-packages 的 P7 要求公开面变更必须伴随\n 版本上调;根 barrel 新增一行 export * 是加法变更,取次版本。kernel.packages.json 与\n kernel.packages.lock.json / kernel.downstream.lock.json 随之重签(后者只改版本号一行)。\n\n顺带修正上一笔提交里的说法,方向不变但更准确:check:kernel-packages 的 apiDigest 只哈希\nrequiredExports 入口的 .d.ts,而入口就是 barrel——它看得见「根 barrel 多了一行 export *」,\n看不见任何具体符号的增删。上一步降私有 17 个符号它全绿,正是这个原因。\n\n验证:@repo/contracts 24 文件 312/312(三次拆分前后逐次一致,行为中性);typecheck 13/13;\nnaming / schema / validation / contract-consumers / dual-backend / kernel-boundaries /\nkernel-packages / kernel-downstream / kernel-extensions 九门全绿;kernel-admission 仍是\n引入时那 8 处(K3 一处 + K4 七处),未引入新红。kernel.exports.lock.json 重签为\n39 个模块 / 763 个导出。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/439c6f7e34f48f718f18479aa1dd2e9a9e3fcfe1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:07:27-07:00","added":["packages/contracts/src/identity.ts"],"removed":[],"modified":["kernel.boundaries.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/tenant.ts","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","message":"chore(reports): tenant.ts 拆分第三步的十三份静态门禁证据 回绑 @ a0a9f1a\n\n十三份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages /\nkernel-downstream / kernel-extensions / statemachine-write-guard / list-bounds /\nfork-readiness 十二绿;kernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),\n与三步拆分前逐条一致——全程未引入新红,也未消除旧红。\n\n三步各自撞到的门禁都如实红过再修,没有一处是先改门禁再做变更:\n第一步 K1(导出归属漂移);第二步 K1 + kernel-packages P7(公开面变更须伴随版本上调)\n+ kernel-downstream D1(下游安装版本随之重签);第三步同上两处 P7 / D1。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/832f9b2e5ab646a48adbf37b80db1d41092f2f7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:12:22-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85288,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-18T16:02:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1789719152
|
1789719160
|
0
|
1789719151
|
1789719175
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24101
|
docs(计划): 登记 check:gate-flow——真源仓补上「每个门禁的失败信号有谁在看」
|
117
|
5
|
governance.yml
|
61
|
5
|
0
|
refs/heads/main
|
392f0fde46813c5d061762b8985c74948f6bb088
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f0d1f11ac7747e845e2781e441cf35bf86717dd5","after":"392f0fde46813c5d061762b8985c74948f6bb088","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/f0d1f11ac7747e845e2781e441cf35bf86717dd5...392f0fde46813c5d061762b8985c74948f6bb088","commits":[{"id":"392f0fde46813c5d061762b8985c74948f6bb088","message":"docs(计划): 登记 check:gate-flow——真源仓补上「每个门禁的失败信号有谁在看」\n\n治理层 2026-09-14 已为自己建了门禁消费登记并写明病因,真源仓一直没问过这个问题。\n实测 44 个脚本里 12 个既不在 check 链、CI 也不调用,其中三个是真门禁;最实的一处是\nCI 的 image job 构建、生成 SBOM、签名镜像却从不启动它一次,而那六项冒烟正是 D-1 的\n退出条件——且 image-smoke 报告在未登记账里的搁置因此没有出口。\n\n消费关系自动推导不接受声明,登记表只装推不出来的那些,随接线变少、不能无声变多。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/392f0fde46813c5d061762b8985c74948f6bb088","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:10:55-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"392f0fde46813c5d061762b8985c74948f6bb088","message":"docs(计划): 登记 check:gate-flow——真源仓补上「每个门禁的失败信号有谁在看」\n\n治理层 2026-09-14 已为自己建了门禁消费登记并写明病因,真源仓一直没问过这个问题。\n实测 44 个脚本里 12 个既不在 check 链、CI 也不调用,其中三个是真门禁;最实的一处是\nCI 的 image job 构建、生成 SBOM、签名镜像却从不启动它一次,而那六项冒烟正是 D-1 的\n退出条件——且 image-smoke 报告在未登记账里的搁置因此没有出口。\n\n消费关系自动推导不接受声明,登记表只装推不出来的那些,随接线变少、不能无声变多。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/392f0fde46813c5d061762b8985c74948f6bb088","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:10:55-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9674,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T16:00:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789719060
|
1789719075
|
0
|
1789719058
|
1789719075
|
|
|
0
|
Edit
Delete
|
|
24100
|
chore(reports): check:gate-flow 回绑 @ 574cfb7
|
116
|
5
|
platform.yml
|
114
|
5
|
0
|
refs/heads/main
|
2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0abd15c28dd2b92c583289934db660363b202fd4","after":"2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/0abd15c28dd2b92c583289934db660363b202fd4...2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","commits":[{"id":"2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","message":"chore(reports): check:gate-flow 回绑 @ 574cfb7\n\n45 个脚本、33 个有消费入口、12 个流外且全部具名(门禁 4 / 工具 8)、0 违规。\n并行会话正在本仓改 Dockerfile 与底座,主工作区非干净树——经 reports:rebind 在\nHEAD 的干净检出里生成,未触及对方在途文件。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:09:55-07:00","added":["reports/gate-flow.latest.json"],"removed":[],"modified":[]},{"id":"f3ae97f3460699338d08efe3dd60ea69a3d49fa4","message":"feat(stack,runtime): dev 常驻运行时接上受控执行面与统一服务目录快照(CHG-018 条件 A 的目标环境半边)\n\ncompose 的 runtime 服务此前没有 PLATFORM_OPS_ENABLED / _CLIENT_IDS / _ADMIN_SUBJECTS,也没有\nPLATFORM_CATALOG_SNAPSHOT_PATH:OPS-1 的命令面在 dev 容器里根本不存在(定义 executable=false),\n/api/platform/catalog 的 snapshot 恒为 unavailable。仓内验收过的两个面没有任何一条路径到达运行环境,\nOPS-1 记录里「目标环境验收留阶段 ②」说的就是这一段。\n\n- stack/compose.yaml:四个键全部空默认值——不配置 = 不开命令面,而不是开着没人管\n- stack/overlays/dev.yaml:reports/workbench-catalog-snapshot.latest.json 只读挂到\n /srv/runtime/catalog-snapshot.json,快照绑的是它自己的 gitSha,不是本进程\n- runtime/Dockerfile:ENV PLATFORM_SOURCE_SHA=${SOURCE_SHA},与 OCI revision 标签同源;\n 缺它时目录读面只能报 source_sha_status=unknown,不从文件系统猜\n- docs/runbook.md:§2 环境表补两行,并写明改这四个键必须重建容器(restart 带不上新环境)\n\n本提交只改配置与镜像环境变量;镜像重建、容器切换与探针结果另行取证提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f3ae97f3460699338d08efe3dd60ea69a3d49fa4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:09:52-07:00","added":[],"removed":[],"modified":["docs/runbook.md","runtime/Dockerfile","stack/compose.yaml","stack/overlays/dev.yaml"]},{"id":"574cfb754278102c1588009c4af3a66dc2201777","message":"feat(governance): 补 check:gate-flow——每个门禁的失败信号有谁在看?\n\n治理层 2026-09-14 就为自己建了 `门禁消费登记.json` 逐条回答这个问题,并写明了病因:\n一个门禁若既不在统一流内、也不在任何 CI 链里,它就停在「永远红」或「永远绿」,\n两种都不再携带信息。本仓一直没问过这个问题。\n\n实测:根 package.json 44 个脚本里 12 个既不在 `pnpm check` 链、CI 也不调用。\n多数是工具与开发者聚合入口(已逐条核实其组成部分确被消费),但其中三个是真门禁:\n\n image:smoke CI 的 image job 构建镜像、生成 SBOM、签名,**却从不启动它一次**。\n 而开发计划把这六项冒烟写成 D-1 的退出条件。更要紧的是\n `image-smoke.latest.json` 在 evidence-scopes 的未登记账里写着\n 「待其下一次真实运行后登记」——而没有任何东西会触发那次运行,\n 于是那条搁置根本没有出口。本轮把它写成带复核期的具名条件。\n promotion:check DEC-024 / DEC-026 的晋级判据,事件驱动,硬接进 check 链只会恒绿\n check:deployed 活体核验,CI runner 上没有长驻底座,接进去等于加一个恒定跳过\n\n三个各有理由,但理由此前只散在 CLAUDE.md / README 的散文里,没有一条有复核期。\n\n**消费关系一律自动推导,不接受声明。** 治理层那套让登记表自报 consumption 再用 G3\n去源码里证伪;本仓直接从 check 链的递归展开与两份 CI 工作流现取——声明会撒谎,\n推导不会。CI 有几处绕开 pnpm 直接 `node governance/build-image.mjs`,因此除按名匹配\n外还按脚本里出现的 .mjs 路径匹配(用例钉住这两条与正则转义)。\n`governance/gate-flow.json` 因此只装推不出来的那些:随接线逐条变少(F2 会拦下\n已被消费却还留着的腐烂登记),也不能无声变多(F1 拦下任何新出现的未说明脚本)。\n\nF4 守的是日期不是条件:接入条件多半含人的判断(「Secret 到位后」「首次晋级时」),\n不可能机器化;能机器化的是必须有人按期回来看一眼。同形判据已在治理层\ngate-registry-core 的 G6 与 domain-layer-baseline 的 B4 上验证过:缓期不是豁免。\n\n已串进 `pnpm check`(放 check:evidence 之前,纯静态先跑先报),报告登记进\nevidence-scopes(severity=error,作用域逐条对应它实际读的文件),并加入\nreports:rebind 的零依赖清单——本仓常有并行会话,脏树上拿不到干净绑定。\n\n治理测试 283 → 298。当前:45 个脚本,33 个有消费入口,12 个流外且全部具名\n(门禁 4 / 工具 8)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/574cfb754278102c1588009c4af3a66dc2201777","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:09:11-07:00","added":["governance/check-gate-flow.mjs","governance/gate-flow.json","governance/lib/gate-flow-core.mjs","governance/test/gate-flow.test.mjs"],"removed":[],"modified":["governance/README.md","governance/evidence-scopes.json","governance/rebind-reports.mjs","package.json"]}],"total_commits":0,"head_commit":{"id":"2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","message":"chore(reports): check:gate-flow 回绑 @ 574cfb7\n\n45 个脚本、33 个有消费入口、12 个流外且全部具名(门禁 4 / 工具 8)、0 违规。\n并行会话正在本仓改 Dockerfile 与底座,主工作区非干净树——经 reports:rebind 在\nHEAD 的干净检出里生成,未触及对方在途文件。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d4b55254cd0b38f4ae1750038d4a6d9e2ebb30a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:09:55-07:00","added":["reports/gate-flow.latest.json"],"removed":[],"modified":[]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":18140,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T15:28:36+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789719018
|
1789719057
|
0
|
1789719017
|
1789719102
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24099
|
chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3...
|
76
|
5
|
platform-governance.yml
|
57
|
5
|
0
|
refs/heads/main
|
614681e6e78d0385bbf043ef964bd444d8e5958b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ea965ed902a9807d07d7d89fc173668804c6294c","after":"614681e6e78d0385bbf043ef964bd444d8e5958b","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/ea965ed902a9807d07d7d89fc173668804c6294c...614681e6e78d0385bbf043ef964bd444d8e5958b","commits":[{"id":"614681e6e78d0385bbf043ef964bd444d8e5958b","message":"chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3\n\n八份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages 七绿,\nkernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),与拆分前逐条一致——\n本次未引入新红,也未消除旧红。\n\nkernel-admission 的 K1 在重签前如实报出本次变更:task.ts / outcome.ts 各新增、\ntenant.ts 消失 21 个(17 个降私有 + 4 个迁出)。kernel.exports.lock.json 已随实现提交\n重签为 762 个导出。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/614681e6e78d0385bbf043ef964bd444d8e5958b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:33-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"53be2c3dd5e52e0392225f359296ef250447bc56","message":"refactor(contracts): tenant.ts 拆分第一步——work 域判定迁出、17 个零引用导出降私有\n\ntenant.ts 与框架 @juhai/kernel 的同名文件共有导出 0 个:它不是「改过的内核」,是绕过\n内核另写的一份,1075 行 / 65 导出里混着四类东西(租户策略、JWT 验签、自建权限、\nwork 域业务判定)。本次只做两件行为中性的事,不改任何实现。\n\n一、work 域判定迁出(不满足 kernel.boundaries.json 的 CORE 准入证据 crossProductRequired)\n\n requiredPermissionForTaskEvent / canApproveTask / canTransitionTask → task.ts\n canResolveOutcome → outcome.ts\n\n「哪些任务事件是特权事件」只对本 OS 的 work 域成立,不是跨产品必需的内核契约。\n角色与权限的定义仍留在 tenant.ts,后续随自建权限一并迁往 authorization.ts。\n\n二、17 个全仓零引用的导出降为模块内私有\n\n RsaSha256Verify verifyJwtRs256 JwksKeyStoreDeps browserJwtIdentitySchema\n BrowserJwtIdentity PermissionOverrideLike PermissionAuditEventData RoleAuditEventData\n TENANT_AUTH_STARTUP_MODES TenantAuthStartupMode TenantAuthStartupDecision\n TenantAuthEnvironment TenantAuthInput TenantAuthPosture RealtimeAuthExpiryDecision\n TenantAuthOptions AuditActorBinding\n\n前五个与 RsaSha256Verify / verifyJwtRs256 是 resolveTenantAuth 的内部实现,后端注入的是\nnode:crypto 的 createHmac / createVerify,从不按名字引用这些类型。\nPermissionAuditEventData / RoleAuditEventData 模块内也不使用,是纯死代码;本次只降可见性,\n删除留给后续。\n\ntenant.ts 65 → 44 导出。应用侧零改动——都经 @repo/contracts 根 barrel 导入,模块间搬移\n不可见;只有 contracts.test.ts 的直接 ./tenant 导入需要切分(保留 21、迁出 4)。\n\n验证:@repo/contracts 24 文件 312/312(与变更前基线逐个一致,行为中性);typecheck 13/13;\ncheck:dual-backend / naming / schema / validation / contract-consumers / kernel-boundaries 全绿。\ncheck-dual-backend-parity.mjs 对 tenant.ts 有 5 处内容位置断言(C51/C52/C73/C181),本次\n涉及的标识符全部仍在该文件内,故未触发;C 组迁往 authorization.ts 时这 5 处必须同步改路径。\n\n顺带一处发现:check:kernel-packages 对本次 21 个符号的公开面收缩完全无感——它的 apiDigest\n只覆盖导出子路径,不覆盖符号集合。真正抓到本次变更的是 check:kernel-admission 的 K1\n(task.ts/outcome.ts 3 处新增、tenant.ts 21 处消失)。kernel.exports.lock.json 随本提交重签\n779 → 762 个导出;重签是 K1「变更即复核」的设计意图,不是绕过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/53be2c3dd5e52e0392225f359296ef250447bc56","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:59:59-07:00","added":[],"removed":[],"modified":["kernel.exports.lock.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts"]}],"total_commits":0,"head_commit":{"id":"614681e6e78d0385bbf043ef964bd444d8e5958b","message":"chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3\n\n八份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages 七绿,\nkernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),与拆分前逐条一致——\n本次未引入新红,也未消除旧红。\n\nkernel-admission 的 K1 在重签前如实报出本次变更:task.ts / outcome.ts 各新增、\ntenant.ts 消失 21 个(17 个降私有 + 4 个迁出)。kernel.exports.lock.json 已随实现提交\n重签为 762 个导出。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/614681e6e78d0385bbf043ef964bd444d8e5958b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:33-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85234,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-18T15:55:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1789718542
|
1789718551
|
0
|
1789718532
|
1789718557
|
|
|
0
|
Edit
Delete
|
|
24098
|
chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3...
|
76
|
5
|
governance.yml
|
56
|
5
|
0
|
refs/heads/main
|
614681e6e78d0385bbf043ef964bd444d8e5958b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ea965ed902a9807d07d7d89fc173668804c6294c","after":"614681e6e78d0385bbf043ef964bd444d8e5958b","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/ea965ed902a9807d07d7d89fc173668804c6294c...614681e6e78d0385bbf043ef964bd444d8e5958b","commits":[{"id":"614681e6e78d0385bbf043ef964bd444d8e5958b","message":"chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3\n\n八份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages 七绿,\nkernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),与拆分前逐条一致——\n本次未引入新红,也未消除旧红。\n\nkernel-admission 的 K1 在重签前如实报出本次变更:task.ts / outcome.ts 各新增、\ntenant.ts 消失 21 个(17 个降私有 + 4 个迁出)。kernel.exports.lock.json 已随实现提交\n重签为 762 个导出。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/614681e6e78d0385bbf043ef964bd444d8e5958b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:33-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"53be2c3dd5e52e0392225f359296ef250447bc56","message":"refactor(contracts): tenant.ts 拆分第一步——work 域判定迁出、17 个零引用导出降私有\n\ntenant.ts 与框架 @juhai/kernel 的同名文件共有导出 0 个:它不是「改过的内核」,是绕过\n内核另写的一份,1075 行 / 65 导出里混着四类东西(租户策略、JWT 验签、自建权限、\nwork 域业务判定)。本次只做两件行为中性的事,不改任何实现。\n\n一、work 域判定迁出(不满足 kernel.boundaries.json 的 CORE 准入证据 crossProductRequired)\n\n requiredPermissionForTaskEvent / canApproveTask / canTransitionTask → task.ts\n canResolveOutcome → outcome.ts\n\n「哪些任务事件是特权事件」只对本 OS 的 work 域成立,不是跨产品必需的内核契约。\n角色与权限的定义仍留在 tenant.ts,后续随自建权限一并迁往 authorization.ts。\n\n二、17 个全仓零引用的导出降为模块内私有\n\n RsaSha256Verify verifyJwtRs256 JwksKeyStoreDeps browserJwtIdentitySchema\n BrowserJwtIdentity PermissionOverrideLike PermissionAuditEventData RoleAuditEventData\n TENANT_AUTH_STARTUP_MODES TenantAuthStartupMode TenantAuthStartupDecision\n TenantAuthEnvironment TenantAuthInput TenantAuthPosture RealtimeAuthExpiryDecision\n TenantAuthOptions AuditActorBinding\n\n前五个与 RsaSha256Verify / verifyJwtRs256 是 resolveTenantAuth 的内部实现,后端注入的是\nnode:crypto 的 createHmac / createVerify,从不按名字引用这些类型。\nPermissionAuditEventData / RoleAuditEventData 模块内也不使用,是纯死代码;本次只降可见性,\n删除留给后续。\n\ntenant.ts 65 → 44 导出。应用侧零改动——都经 @repo/contracts 根 barrel 导入,模块间搬移\n不可见;只有 contracts.test.ts 的直接 ./tenant 导入需要切分(保留 21、迁出 4)。\n\n验证:@repo/contracts 24 文件 312/312(与变更前基线逐个一致,行为中性);typecheck 13/13;\ncheck:dual-backend / naming / schema / validation / contract-consumers / kernel-boundaries 全绿。\ncheck-dual-backend-parity.mjs 对 tenant.ts 有 5 处内容位置断言(C51/C52/C73/C181),本次\n涉及的标识符全部仍在该文件内,故未触发;C 组迁往 authorization.ts 时这 5 处必须同步改路径。\n\n顺带一处发现:check:kernel-packages 对本次 21 个符号的公开面收缩完全无感——它的 apiDigest\n只覆盖导出子路径,不覆盖符号集合。真正抓到本次变更的是 check:kernel-admission 的 K1\n(task.ts/outcome.ts 3 处新增、tenant.ts 21 处消失)。kernel.exports.lock.json 随本提交重签\n779 → 762 个导出;重签是 K1「变更即复核」的设计意图,不是绕过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/53be2c3dd5e52e0392225f359296ef250447bc56","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:59:59-07:00","added":[],"removed":[],"modified":["kernel.exports.lock.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts"]}],"total_commits":0,"head_commit":{"id":"614681e6e78d0385bbf043ef964bd444d8e5958b","message":"chore(reports): tenant.ts 拆分第一步的八份静态门禁证据 回绑 @ 53be2c3\n\n八份全部 clean 绑定(worktreeDirty:false):naming / schema-sync / validation-source /\ncontract-consumers / dual-backend-parity / kernel-boundaries / kernel-packages 七绿,\nkernel-admission 仍是引入时那 8 处(K3 一处 + K4 七处),与拆分前逐条一致——\n本次未引入新红,也未消除旧红。\n\nkernel-admission 的 K1 在重签前如实报出本次变更:task.ts / outcome.ts 各新增、\ntenant.ts 消失 21 个(17 个降私有 + 4 个迁出)。kernel.exports.lock.json 已随实现提交\n重签为 762 个导出。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次,未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/614681e6e78d0385bbf043ef964bd444d8e5958b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:33-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/kernel-admission.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-packages.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85234,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-18T15:55:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1789718533
|
1789718542
|
0
|
1789718531
|
1789718556
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24097
|
chore(reports): 门禁消费回绑 @ 50ea2d6
|
117
|
5
|
governance.yml
|
60
|
5
|
0
|
refs/heads/main
|
f0d1f11ac7747e845e2781e441cf35bf86717dd5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a111b6977a361ae62f190375ae1d4a3634ac8fda","after":"f0d1f11ac7747e845e2781e441cf35bf86717dd5","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/a111b6977a361ae62f190375ae1d4a3634ac8fda...f0d1f11ac7747e845e2781e441cf35bf86717dd5","commits":[{"id":"f0d1f11ac7747e845e2781e441cf35bf86717dd5","message":"chore(reports): 门禁消费回绑 @ 50ea2d6\n\nR9 第二次命中:50ea2d6 又改了 scripts/ 下两个文件,而它们是这份报告声明的输入。\n干净树重跑,绑定之外无差异。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/f0d1f11ac7747e845e2781e441cf35bf86717dd5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:11-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/门禁消费.latest.json"]},{"id":"50ea2d665e441c9f348dbfeb6009c77be43190ce","message":"feat(governance): 报告登记门禁补 R11——消费者\"文件还在\"不等于\"还在被引用\"\n\n登记 note 写的是 evidence 类「至少被一份受控文档**按名引用**」,R5 却只查消费者文件\n存不存在。这两句不是一回事,而差的那一半恰好是本门禁要治的病:当年 reports/ 攒出\n263 个顶层条目、223 个无人引用——**那些消费文档一个不少地存在着**,只是正文里早已\n不再提到它们。照 R5 的判据,那 223 份当年一份都不会被报出来。\n\nR11 EVIDENCE_NOT_NAMED:消费者都在、却没有一份正文真提到这份报告即红。判据认全名,\n也认去掉 `.latest.json` 后仍有 ≥4 字的名字(中文报告名足够独特);词干太短的不认,\n否则 `reports/b.json` 的词干 `b` 会把任何正文都判成引用(用例钉住这条)。\n读不到正文时整条不判,保持原判据,不在读不到时误报。\n\n先测量再动手:全量 35 份 evidence 全部合格,0 违规。零违规时收紧最合适——现在加的是\n一道防漂移的闸,将来才不会又攒出一堆\"有消费者、没人提\"的条目。\n\n登记门禁测试 19 → 24,治理层全量 394(388 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/50ea2d665e441c9f348dbfeb6009c77be43190ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:00-07:00","added":[],"removed":[],"modified":["平台治理/基础/README.md","平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]}],"total_commits":0,"head_commit":{"id":"f0d1f11ac7747e845e2781e441cf35bf86717dd5","message":"chore(reports): 门禁消费回绑 @ 50ea2d6\n\nR9 第二次命中:50ea2d6 又改了 scripts/ 下两个文件,而它们是这份报告声明的输入。\n干净树重跑,绑定之外无差异。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/f0d1f11ac7747e845e2781e441cf35bf86717dd5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T01:00:11-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/门禁消费.latest.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9619,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:57:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789718416
|
1789718435
|
0
|
1789718416
|
1789718435
|
|
|
0
|
Edit
Delete
|
|
24096
|
docs(治理): README 补记 R7—R10——报告登记门禁现在会读 binding 与 i docs(治理): README 补记 R7—R10——报告登记门禁现在会读 binding 与 inputs...
|
117
|
5
|
governance.yml
|
59
|
5
|
0
|
refs/heads/main
|
a111b6977a361ae62f190375ae1d4a3634ac8fda
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6fb129d40fb9e160af6f70871eb8881ff5eef743","after":"a111b6977a361ae62f190375ae1d4a3634ac8fda","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/6fb129d40fb9e160af6f70871eb8881ff5eef743...a111b6977a361ae62f190375ae1d4a3634ac8fda","commits":[{"id":"a111b6977a361ae62f190375ae1d4a3634ac8fda","message":"docs(治理): README 补记 R7—R10——报告登记门禁现在会读 binding 与 inputs\n\n第 51 行原本只写「latest 类须有存在的生产脚本与 provenance.gitSha」,R7—R10 落地后这句\n已不完整。补上四条新规则、各自的判据与不判的情形,并记下促成它们的两处实况:\n一份绑在脏树上被提交的报告,一份相对自己输入已陈旧的报告,此前都无人察觉。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/a111b6977a361ae62f190375ae1d4a3634ac8fda","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:57:18-07:00","added":[],"removed":[],"modified":["平台治理/基础/README.md"]}],"total_commits":0,"head_commit":{"id":"a111b6977a361ae62f190375ae1d4a3634ac8fda","message":"docs(治理): README 补记 R7—R10——报告登记门禁现在会读 binding 与 inputs\n\n第 51 行原本只写「latest 类须有存在的生产脚本与 provenance.gitSha」,R7—R10 落地后这句\n已不完整。补上四条新规则、各自的判据与不判的情形,并记下促成它们的两处实况:\n一份绑在脏树上被提交的报告,一份相对自己输入已陈旧的报告,此前都无人察觉。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/a111b6977a361ae62f190375ae1d4a3634ac8fda","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:57:18-07:00","added":[],"removed":[],"modified":["平台治理/基础/README.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9587,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:55:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789718242
|
1789718258
|
0
|
1789718241
|
1789718258
|
|
|
0
|
Edit
Delete
|
|
24095
|
chore(reports): 门禁消费回绑 @ 69784be
|
117
|
5
|
governance.yml
|
58
|
5
|
0
|
refs/heads/main
|
6fb129d40fb9e160af6f70871eb8881ff5eef743
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f4540e69b1656232b677571584d3bd6ad57217be","after":"6fb129d40fb9e160af6f70871eb8881ff5eef743","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/f4540e69b1656232b677571584d3bd6ad57217be...6fb129d40fb9e160af6f70871eb8881ff5eef743","commits":[{"id":"6fb129d40fb9e160af6f70871eb8881ff5eef743","message":"chore(reports): 门禁消费回绑 @ 69784be\n\nR9 落地后第一条真实命中:69784be 改了 scripts/ 下两个文件,而 scripts/ 正是这份报告\n声明的输入之一(它拿 门禁消费登记.json 对盘受控脚本,读的是脚本内容不只是文件名)。\n干净树重跑,内容逐字未变,只有绑定前移——这正是「绑定干净不等于结论还成立」的反面:\n输入动了就该重跑,哪怕结论恰好没变。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/6fb129d40fb9e160af6f70871eb8881ff5eef743","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:55:46-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/门禁消费.latest.json"]},{"id":"69784be6b04c850ae1f2ea0b948344f9627738cf","message":"feat(governance): 报告登记门禁补 R9 / R10——绑定干净不等于结论还成立\n\nR7 / R8 守的是绑定本身(不脏、在历史上)。这一轮补另一半:**一份绑得干干净净的报告,\n结论仍可能早已被推翻**。2026-09-18 实测 `门禁消费.latest.json` 相对它自己的输入\n`门禁消费登记.json` 已经陈旧——登记表改了并提交了,报告停在旧文本,R1—R8 一条都不响。\n\n R9 LATEST_STALE 登记声明了 inputs,绑定 SHA → HEAD 之间这些输入有变更\n R10 INPUTS_UNACCOUNTED latest 既没声明 inputs、也没写明为什么判不了\n\n判据与真源仓 check:evidence 同口径:不看「落后几个提交」,看**该报告自己覆盖的输入**\n动没动。同目录的 latest 报告不算输入,它们是产物。\n\n四份 latest 逐条给出口径,禁止留空白:\n 门禁消费 inputs:门禁消费登记.json + scripts/(它正是拿登记表对盘受控脚本)\n 基础目录统一审计 判不了——读其它仓的 HEAD / 工作树 / 验收报告,全在治理仓历史之外,\n 且 ageHours 每跑一次都变,本仓任何提交都决定不了它是否仍成立\n 延后op 判不了一半——决议材料在本仓,活跃 Catalog 在嵌套独立仓(治理仓忽略该\n 目录,git diff 看不见)。只声明能判的一半会给出假绿,比不判更坏\n 门禁运行 判不了——编排产物,写 inputs 只能写成 scripts/ 这种筐,真源仓\n evidence-scopes 的同一条纪律禁止为覆盖率造模糊作用域\n\n集成用例改为只在真实登记上断言**结构类**规则。仓纪律 5 要求两次提交(实现,然后在它\n的干净树上回绑),必然存在一个提交报告是陈旧的——那是纪律规定的流程,不是缺陷;在\n单测里断言它为零等于让 pnpm test 在自家流程的中间一步必红。「待回绑」四条由阻断性\n门禁 check:reports 把关。该用例原本就已按同一理由排除 LATEST_WITHOUT_PROVENANCE,\n本轮只是把这一类补全。\n\n登记门禁测试 13 → 19,治理层全量 389(383 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/69784be6b04c850ae1f2ea0b948344f9627738cf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:55:24-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/登记.json","平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]}],"total_commits":0,"head_commit":{"id":"6fb129d40fb9e160af6f70871eb8881ff5eef743","message":"chore(reports): 门禁消费回绑 @ 69784be\n\nR9 落地后第一条真实命中:69784be 改了 scripts/ 下两个文件,而 scripts/ 正是这份报告\n声明的输入之一(它拿 门禁消费登记.json 对盘受控脚本,读的是脚本内容不只是文件名)。\n干净树重跑,内容逐字未变,只有绑定前移——这正是「绑定干净不等于结论还成立」的反面:\n输入动了就该重跑,哪怕结论恰好没变。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/6fb129d40fb9e160af6f70871eb8881ff5eef743","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:55:46-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/门禁消费.latest.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9556,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:54:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789718151
|
1789718166
|
0
|
1789718149
|
1789718166
|
|
|
0
|
Edit
Delete
|
|
24094
|
chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9
|
76
|
5
|
platform-governance.yml
|
55
|
5
|
0
|
refs/heads/main
|
ea965ed902a9807d07d7d89fc173668804c6294c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c433d57b4aae2249bd19a085d1c520bf6baedf55","after":"ea965ed902a9807d07d7d89fc173668804c6294c","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/c433d57b4aae2249bd19a085d1c520bf6baedf55...ea965ed902a9807d07d7d89fc173668804c6294c","commits":[{"id":"ea965ed902a9807d07d7d89fc173668804c6294c","message":"chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9\n\nclean 绑定(worktreeDirty:false)——工作区里三份 reports/ui-*.latest.json 的改动\n早于本批次,且 report-provenance 按设计忽略 latest 报告,不影响本次绑定。\n\nK4 七处(声明为 true,evidenceSources 无机器回执):\n- kernel.digital-employee-core.industryIndependent ← 只有 scripts/check-kernel-boundaries.mjs\n- kernel.digital-employee-core.crossProductRequired ← 只有下游夹具 .ts\n- kernel.digital-employee-core.dualBackendGoverned ← 一份 ADR + 两个脚本\n- pack.generative-ai 的 industryIndependent / dualBackendGoverned ← 源码文件与目录\n- pack.enterprise-fact-consumer 的两项同上\n\nK3 一处:tests/kernel-downstream-fixture/src/index.ts 只有命名空间导入。\n\n未一并修 evidenceSources。改指某份已存在的报告能立刻转绿,但只有当那份报告确实判过\n该条时才是真修:dual-backend-parity 是全仓级判定、不按组件出结论,改指它等于把自证\n换个地方做。哪份报告承接哪一条属 Owner 裁定,不随本次实现一并决定。\n\nK5 观测(不计红):跨产品具名消费面 5 个符号——ProductManifestInput、\nProductManifestComposition、ProductRuntimeContractCatalog、\nProductDataContractImplementation、ProductEventContractImplementation,\n全部来自 product-manifest.ts;33/38 个模块零跨产品消费,含 tenant.ts 的 65 个导出与\ntool.ts 的 99 个。该数字只作边界收缩决策的输入,不构成「应移出 CORE」的判定。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ea965ed902a9807d07d7d89fc173668804c6294c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:16-07:00","added":["reports/kernel-admission.latest.json"],"removed":[],"modified":[]},{"id":"ee6d5a98aa6d372d2fc2ea81f328d55cc15511f9","message":"feat(governance): 内核准入证据门禁 K1—K5,判据从声明下沉到导出清单与证据形态\n\nkernel.boundaries.json 的 admissionEvidence 是四个手写 true,evidenceSources\n只列了路径,没有「该判据确实被机器判过」的回执。实测两处后果:\n\n- CORE 声明 crossProductRequired: true,其证据源 tests/kernel-downstream-fixture/\n src/index.ts 是 10 个 import * as + 判非空 + 一个 typeof === \"function\" 的\n 命名空间冒烟测试——28 个契约模块全空它也照样通过。它能证明包可安装可加载,\n 不能证明任何一个模块跨产品必需\n- 归属粒度是文件:owns.contractModules 是文件名清单,于是\n packages/contracts/src/tenant.ts 一个 1075 行 / 65 导出的文件,把租户策略、\n JWT 验签、自建权限、work 域业务判定四类一起带进了 CORE\n\n手法同 check:platform-provenance(那一条把判据从 package.json 的声明下沉到\npnpm-lock.yaml 的解析结果)。五条判据:\n\n K1 EXPORT_LOCK_DRIFT 组件所辖契约模块的直接导出集合须与\n kernel.exports.lock.json 一致。只认直接声明,\n barrel 的再导出不算拥有——否则 index.ts 会「拥有」全仓\n K2 EXPORT_OWNERSHIP_AMBIGUOUS 同一导出名不得被两个组件同时拥有。拆分契约模块时\n 最容易「复制一份留在原处」,这条守住它\n K3 EVIDENCE_NAMESPACE_ONLY crossProductRequired 的证据源若只有命名空间导入、\n 无任何具名导入,按构造无法证明符号级必需性\n K4 EVIDENCE_NOT_BACKED 声明为 true 的每项须至少有一份机器回执\n (reports/*.json 或 *.lock.json)。脚本路径与文档路径\n 不是回执:只证明文件存在,不证明该判据被判过。\n 声明为 false 的项不要求回执\n K5 CROSS_PRODUCT_UNCONSUMED observed,不计红。CORE 模块未被产品消费不等于不该在\n CORE(OS 自己的两个后端在用);把观测项当红盘会逼出\n 「为了绿而乱改归属」的反向激励\n\n自检 pnpm check:kernel-admission:self-test 共 10 条,含 1 条基线正例与 2 条防过度\n判红(声明 false 不因无回执计红、零跨产品消费只出 observed)——对照组是为了防\n「只会红的假门禁」。\n\n锁基线 38 个模块 / 779 个导出(CORE 30 + generative-ai 7 + fact-consumer 1)。\n首次签发只固化「现在是什么」,不代表归属正确。\n\ncheck-all 末位注册,理由同 check:platform-provenance:本门禁自引入起即为已知诚实红,\nfail-fast 语义下排前面会让其余门禁全部不执行。pnpm check 因此从 27 步变 28 步且末步红,\n前 27 步照常产出证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ee6d5a98aa6d372d2fc2ea81f328d55cc15511f9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:01-07:00","added":["kernel.exports.lock.json","scripts/check-kernel-admission.mjs"],"removed":[],"modified":["package.json","scripts/check-all.mjs"]}],"total_commits":0,"head_commit":{"id":"ea965ed902a9807d07d7d89fc173668804c6294c","message":"chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9\n\nclean 绑定(worktreeDirty:false)——工作区里三份 reports/ui-*.latest.json 的改动\n早于本批次,且 report-provenance 按设计忽略 latest 报告,不影响本次绑定。\n\nK4 七处(声明为 true,evidenceSources 无机器回执):\n- kernel.digital-employee-core.industryIndependent ← 只有 scripts/check-kernel-boundaries.mjs\n- kernel.digital-employee-core.crossProductRequired ← 只有下游夹具 .ts\n- kernel.digital-employee-core.dualBackendGoverned ← 一份 ADR + 两个脚本\n- pack.generative-ai 的 industryIndependent / dualBackendGoverned ← 源码文件与目录\n- pack.enterprise-fact-consumer 的两项同上\n\nK3 一处:tests/kernel-downstream-fixture/src/index.ts 只有命名空间导入。\n\n未一并修 evidenceSources。改指某份已存在的报告能立刻转绿,但只有当那份报告确实判过\n该条时才是真修:dual-backend-parity 是全仓级判定、不按组件出结论,改指它等于把自证\n换个地方做。哪份报告承接哪一条属 Owner 裁定,不随本次实现一并决定。\n\nK5 观测(不计红):跨产品具名消费面 5 个符号——ProductManifestInput、\nProductManifestComposition、ProductRuntimeContractCatalog、\nProductDataContractImplementation、ProductEventContractImplementation,\n全部来自 product-manifest.ts;33/38 个模块零跨产品消费,含 tenant.ts 的 65 个导出与\ntool.ts 的 99 个。该数字只作边界收缩决策的输入,不构成「应移出 CORE」的判定。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ea965ed902a9807d07d7d89fc173668804c6294c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:16-07:00","added":["reports/kernel-admission.latest.json"],"removed":[],"modified":[]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85205,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-15T13:47:40+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1789718128
|
1789718138
|
0
|
1789718112
|
1789718143
|
|
|
0
|
Edit
Delete
|
|
24093
|
chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9
|
76
|
5
|
governance.yml
|
54
|
5
|
0
|
refs/heads/main
|
ea965ed902a9807d07d7d89fc173668804c6294c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c433d57b4aae2249bd19a085d1c520bf6baedf55","after":"ea965ed902a9807d07d7d89fc173668804c6294c","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/c433d57b4aae2249bd19a085d1c520bf6baedf55...ea965ed902a9807d07d7d89fc173668804c6294c","commits":[{"id":"ea965ed902a9807d07d7d89fc173668804c6294c","message":"chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9\n\nclean 绑定(worktreeDirty:false)——工作区里三份 reports/ui-*.latest.json 的改动\n早于本批次,且 report-provenance 按设计忽略 latest 报告,不影响本次绑定。\n\nK4 七处(声明为 true,evidenceSources 无机器回执):\n- kernel.digital-employee-core.industryIndependent ← 只有 scripts/check-kernel-boundaries.mjs\n- kernel.digital-employee-core.crossProductRequired ← 只有下游夹具 .ts\n- kernel.digital-employee-core.dualBackendGoverned ← 一份 ADR + 两个脚本\n- pack.generative-ai 的 industryIndependent / dualBackendGoverned ← 源码文件与目录\n- pack.enterprise-fact-consumer 的两项同上\n\nK3 一处:tests/kernel-downstream-fixture/src/index.ts 只有命名空间导入。\n\n未一并修 evidenceSources。改指某份已存在的报告能立刻转绿,但只有当那份报告确实判过\n该条时才是真修:dual-backend-parity 是全仓级判定、不按组件出结论,改指它等于把自证\n换个地方做。哪份报告承接哪一条属 Owner 裁定,不随本次实现一并决定。\n\nK5 观测(不计红):跨产品具名消费面 5 个符号——ProductManifestInput、\nProductManifestComposition、ProductRuntimeContractCatalog、\nProductDataContractImplementation、ProductEventContractImplementation,\n全部来自 product-manifest.ts;33/38 个模块零跨产品消费,含 tenant.ts 的 65 个导出与\ntool.ts 的 99 个。该数字只作边界收缩决策的输入,不构成「应移出 CORE」的判定。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ea965ed902a9807d07d7d89fc173668804c6294c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:16-07:00","added":["reports/kernel-admission.latest.json"],"removed":[],"modified":[]},{"id":"ee6d5a98aa6d372d2fc2ea81f328d55cc15511f9","message":"feat(governance): 内核准入证据门禁 K1—K5,判据从声明下沉到导出清单与证据形态\n\nkernel.boundaries.json 的 admissionEvidence 是四个手写 true,evidenceSources\n只列了路径,没有「该判据确实被机器判过」的回执。实测两处后果:\n\n- CORE 声明 crossProductRequired: true,其证据源 tests/kernel-downstream-fixture/\n src/index.ts 是 10 个 import * as + 判非空 + 一个 typeof === \"function\" 的\n 命名空间冒烟测试——28 个契约模块全空它也照样通过。它能证明包可安装可加载,\n 不能证明任何一个模块跨产品必需\n- 归属粒度是文件:owns.contractModules 是文件名清单,于是\n packages/contracts/src/tenant.ts 一个 1075 行 / 65 导出的文件,把租户策略、\n JWT 验签、自建权限、work 域业务判定四类一起带进了 CORE\n\n手法同 check:platform-provenance(那一条把判据从 package.json 的声明下沉到\npnpm-lock.yaml 的解析结果)。五条判据:\n\n K1 EXPORT_LOCK_DRIFT 组件所辖契约模块的直接导出集合须与\n kernel.exports.lock.json 一致。只认直接声明,\n barrel 的再导出不算拥有——否则 index.ts 会「拥有」全仓\n K2 EXPORT_OWNERSHIP_AMBIGUOUS 同一导出名不得被两个组件同时拥有。拆分契约模块时\n 最容易「复制一份留在原处」,这条守住它\n K3 EVIDENCE_NAMESPACE_ONLY crossProductRequired 的证据源若只有命名空间导入、\n 无任何具名导入,按构造无法证明符号级必需性\n K4 EVIDENCE_NOT_BACKED 声明为 true 的每项须至少有一份机器回执\n (reports/*.json 或 *.lock.json)。脚本路径与文档路径\n 不是回执:只证明文件存在,不证明该判据被判过。\n 声明为 false 的项不要求回执\n K5 CROSS_PRODUCT_UNCONSUMED observed,不计红。CORE 模块未被产品消费不等于不该在\n CORE(OS 自己的两个后端在用);把观测项当红盘会逼出\n 「为了绿而乱改归属」的反向激励\n\n自检 pnpm check:kernel-admission:self-test 共 10 条,含 1 条基线正例与 2 条防过度\n判红(声明 false 不因无回执计红、零跨产品消费只出 observed)——对照组是为了防\n「只会红的假门禁」。\n\n锁基线 38 个模块 / 779 个导出(CORE 30 + generative-ai 7 + fact-consumer 1)。\n首次签发只固化「现在是什么」,不代表归属正确。\n\ncheck-all 末位注册,理由同 check:platform-provenance:本门禁自引入起即为已知诚实红,\nfail-fast 语义下排前面会让其余门禁全部不执行。pnpm check 因此从 27 步变 28 步且末步红,\n前 27 步照常产出证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ee6d5a98aa6d372d2fc2ea81f328d55cc15511f9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:01-07:00","added":["kernel.exports.lock.json","scripts/check-kernel-admission.mjs"],"removed":[],"modified":["package.json","scripts/check-all.mjs"]}],"total_commits":0,"head_commit":{"id":"ea965ed902a9807d07d7d89fc173668804c6294c","message":"chore(reports): 内核准入门禁首轮 8 处诚实红 回绑 @ ee6d5a9\n\nclean 绑定(worktreeDirty:false)——工作区里三份 reports/ui-*.latest.json 的改动\n早于本批次,且 report-provenance 按设计忽略 latest 报告,不影响本次绑定。\n\nK4 七处(声明为 true,evidenceSources 无机器回执):\n- kernel.digital-employee-core.industryIndependent ← 只有 scripts/check-kernel-boundaries.mjs\n- kernel.digital-employee-core.crossProductRequired ← 只有下游夹具 .ts\n- kernel.digital-employee-core.dualBackendGoverned ← 一份 ADR + 两个脚本\n- pack.generative-ai 的 industryIndependent / dualBackendGoverned ← 源码文件与目录\n- pack.enterprise-fact-consumer 的两项同上\n\nK3 一处:tests/kernel-downstream-fixture/src/index.ts 只有命名空间导入。\n\n未一并修 evidenceSources。改指某份已存在的报告能立刻转绿,但只有当那份报告确实判过\n该条时才是真修:dual-backend-parity 是全仓级判定、不按组件出结论,改指它等于把自证\n换个地方做。哪份报告承接哪一条属 Owner 裁定,不随本次实现一并决定。\n\nK5 观测(不计红):跨产品具名消费面 5 个符号——ProductManifestInput、\nProductManifestComposition、ProductRuntimeContractCatalog、\nProductDataContractImplementation、ProductEventContractImplementation,\n全部来自 product-manifest.ts;33/38 个模块零跨产品消费,含 tenant.ts 的 65 个导出与\ntool.ts 的 99 个。该数字只作边界收缩决策的输入,不构成「应移出 CORE」的判定。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ea965ed902a9807d07d7d89fc173668804c6294c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:52:16-07:00","added":["reports/kernel-admission.latest.json"],"removed":[],"modified":[]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":85205,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-15T13:47:40+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1789718113
|
1789718128
|
0
|
1789718112
|
1789718143
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24092
|
docs(架构): 总架构增 §3.8——基座的装载 / 调用两个方向与接入能力归属
|
117
|
5
|
governance.yml
|
57
|
5
|
0
|
refs/heads/main
|
f4540e69b1656232b677571584d3bd6ad57217be
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","after":"f4540e69b1656232b677571584d3bd6ad57217be","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/34c5fecec1074d5a01acd8b184e70c63c5ed947b...f4540e69b1656232b677571584d3bd6ad57217be","commits":[{"id":"f4540e69b1656232b677571584d3bd6ad57217be","message":"docs(架构): 总架构增 §3.8——基座的装载 / 调用两个方向与接入能力归属\n\n起因是一次实际误读:`c433d57` 被当成「另一个 OS 产品」。它是数字员工OS 仓的提交\nSHA(2026-09-14),由 base-framework-os-product/os.upstream.json 连同 protocol\n1.3.0 钉住,用途是让「上游 OS 走动了」以 O0-SHA 显式变红。与基座并列的不是它,\n是 base-framework-os-product 这个仓——示例产品扩展加两道 OS 门禁,2026-09-10\n随 G26 自框架仓移出以保框架零依赖。误读本身说明这几件事在文档里没写清,本节补上。\n\n**两个方向。** PNG 给基座的定语「理解、编排、调用、执行」对应两个方向相反的接口:\n装载(OS → 应用)已有协议(KERNEL_EXTENSION_PROTOCOL_VERSION = 1.3.0,定义在 OS\n仓 packages/contracts/src/product-manifest.ts),真装 1 个;调用(应用 → OS)基本\n空白——协议草案 §4 已给出 ProductActivationIntent / ToolIntentReceipt 并写明「OS\n应提供、产品不再自建」,2026-09-18 复核 OS 仓 apps/ 下仍无 product-activations\n路由,智服已在自己仓内造了一套。两个方向归属不同,混谈会把落点找错。\n\n**接入形态实测已分叉成五种:** product.manifest.json(示例 / 设备云 / 知识云)、\nmanifest.json(HR,另有 ddl-authority / distribution / readiness 三个独有文件且无\npackage.json)、manifest.ts(工单,另有 kernel.products.entry.json)。只有示例与\n设备云带 os-host 测试配置。\n\n**为什么「每个应用继承一份」今天做不到**(两条方向相反的硬事实):OS 的包是\n@repo/* 仓内作用域名(@repo/contracts@1.16.0,与工单仓同名包撞名),外仓依赖不了,\n只能照抄;而协议 §2.1 又反向禁止产品导入宿主私有 @repo/*,宿主能力一律由组合根\n注入、产品契约要自包含。由此划边界:可继承的是契约 / Schema / 校验器 / 门禁,不可\n继承的是宿主运行时——搞混会废掉 §2.1 的 fail-closed import 扫描。\n\n**四个落点按依赖方向逐个判定:** 协议与 SDK 由基座以 @juhai/ 发布(合法,阻碍是\n@repo/* 命名);分发通道归基础设施(合法,DEC-031 已批准,缺口是契约包 pin 无门禁\n——HR 与 OS 停在 rc.1、源仓已 rc.3,不像 kernel 有 L12 守着);脚手架归框架(合法\n但受零依赖限制,只能给目录形状);**把装载协议搬进基础设施不合法**——基础设施要\n编码基座契约即反向依赖,撞图 1 的唯一硬约束。本节只判合法性,不选落点。\n\n另记一条门禁抓不到的过期陈述:协议草案 §4 写「DEC-006 / 007 pending 期间」,两条\n实际都已 approved;L10 只抓「等 / 待 / 尚未裁决」措辞,这句不在模式内。该文是\nDEC-009 材料,处置留给 OS Owner,本次未动。\n\n需走 DEC / CHG 的两件已列入 §9 不裁决清单:装载协议是否切出改名发布、走哪条通道、\n谁做 Owner;草案 §4 两个契约由基座实现的排期。\n\n门禁复跑:L3 / L4 / L10 / L13 均为 0,仍只剩既有的 L9;新增的两条跨层链接\n(os.upstream.json、装载与对账协议草案)解析通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/f4540e69b1656232b677571584d3bd6ad57217be","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:54:12-07:00","added":[],"removed":[],"modified":["平台治理/企业应用群总架构-2026-09-17.md"]}],"total_commits":0,"head_commit":{"id":"f4540e69b1656232b677571584d3bd6ad57217be","message":"docs(架构): 总架构增 §3.8——基座的装载 / 调用两个方向与接入能力归属\n\n起因是一次实际误读:`c433d57` 被当成「另一个 OS 产品」。它是数字员工OS 仓的提交\nSHA(2026-09-14),由 base-framework-os-product/os.upstream.json 连同 protocol\n1.3.0 钉住,用途是让「上游 OS 走动了」以 O0-SHA 显式变红。与基座并列的不是它,\n是 base-framework-os-product 这个仓——示例产品扩展加两道 OS 门禁,2026-09-10\n随 G26 自框架仓移出以保框架零依赖。误读本身说明这几件事在文档里没写清,本节补上。\n\n**两个方向。** PNG 给基座的定语「理解、编排、调用、执行」对应两个方向相反的接口:\n装载(OS → 应用)已有协议(KERNEL_EXTENSION_PROTOCOL_VERSION = 1.3.0,定义在 OS\n仓 packages/contracts/src/product-manifest.ts),真装 1 个;调用(应用 → OS)基本\n空白——协议草案 §4 已给出 ProductActivationIntent / ToolIntentReceipt 并写明「OS\n应提供、产品不再自建」,2026-09-18 复核 OS 仓 apps/ 下仍无 product-activations\n路由,智服已在自己仓内造了一套。两个方向归属不同,混谈会把落点找错。\n\n**接入形态实测已分叉成五种:** product.manifest.json(示例 / 设备云 / 知识云)、\nmanifest.json(HR,另有 ddl-authority / distribution / readiness 三个独有文件且无\npackage.json)、manifest.ts(工单,另有 kernel.products.entry.json)。只有示例与\n设备云带 os-host 测试配置。\n\n**为什么「每个应用继承一份」今天做不到**(两条方向相反的硬事实):OS 的包是\n@repo/* 仓内作用域名(@repo/contracts@1.16.0,与工单仓同名包撞名),外仓依赖不了,\n只能照抄;而协议 §2.1 又反向禁止产品导入宿主私有 @repo/*,宿主能力一律由组合根\n注入、产品契约要自包含。由此划边界:可继承的是契约 / Schema / 校验器 / 门禁,不可\n继承的是宿主运行时——搞混会废掉 §2.1 的 fail-closed import 扫描。\n\n**四个落点按依赖方向逐个判定:** 协议与 SDK 由基座以 @juhai/ 发布(合法,阻碍是\n@repo/* 命名);分发通道归基础设施(合法,DEC-031 已批准,缺口是契约包 pin 无门禁\n——HR 与 OS 停在 rc.1、源仓已 rc.3,不像 kernel 有 L12 守着);脚手架归框架(合法\n但受零依赖限制,只能给目录形状);**把装载协议搬进基础设施不合法**——基础设施要\n编码基座契约即反向依赖,撞图 1 的唯一硬约束。本节只判合法性,不选落点。\n\n另记一条门禁抓不到的过期陈述:协议草案 §4 写「DEC-006 / 007 pending 期间」,两条\n实际都已 approved;L10 只抓「等 / 待 / 尚未裁决」措辞,这句不在模式内。该文是\nDEC-009 材料,处置留给 OS Owner,本次未动。\n\n需走 DEC / CHG 的两件已列入 §9 不裁决清单:装载协议是否切出改名发布、走哪条通道、\n谁做 Owner;草案 §4 两个契约由基座实现的排期。\n\n门禁复跑:L3 / L4 / L10 / L13 均为 0,仍只剩既有的 L9;新增的两条跨层链接\n(os.upstream.json、装载与对账协议草案)解析通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/f4540e69b1656232b677571584d3bd6ad57217be","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:54:12-07:00","added":[],"removed":[],"modified":["平台治理/企业应用群总架构-2026-09-17.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9535,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:49:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789718061
|
1789718077
|
0
|
1789718061
|
1789718077
|
|
|
0
|
Edit
Delete
|
|
24091
|
feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 bi feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径...
|
117
|
5
|
governance.yml
|
56
|
5
|
0
|
refs/heads/main
|
34c5fecec1074d5a01acd8b184e70c63c5ed947b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","after":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3...34c5fecec1074d5a01acd8b184e70c63c5ed947b","commits":[{"id":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","message":"feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径\n\n治理层是给全工作区定证据纪律的那一层,却没对自己的报告用同一条。登记表里每条 latest\n都写着 `\"binding\": \"clean-head\"`,note 也写着「只在 clean HEAD 上提交」,但 R1—R6 里\n没有任何一条去读它——R4 只查 provenance.gitSha 存不存在。\n\n于是 `基础目录统一审计.latest.json` 绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)被提交了,一路绿灯。一份绑在脏树上的报告证明不了任何一个提交态,它既不对应\n589467e 的树,也不对应此后任何提交。已于 ad86507 在干净树上重跑回绑。\n\n R7 BINDING_NOT_CLEAN 声明 clean-head 却自称绑在脏树上,且该报告本身已提交\n R8 BINDING_OFF_HISTORY 绑定的 SHA 不在当前 HEAD 的历史上(换基 / 重写历史后遗留)\n\n两条都只对**登记已声明绑定口径**的条目判——不替没声明的条目另立规矩。R7 跳过报告\n自身未提交的情况:那是在途产物,也可能是并行会话正在跑的中间态(本工作区常有 2—3\n个会话同时写 reports/),判红只会误伤对方的回绑,与真源仓偏差 #34-B 同一口径。\nR8 取不到祖先关系时整条不判,非 git 环境退回原判据。缺 gitSha 的报告由 R4 单独报,\n不叠加成三条。\n\n登记门禁测试 8 → 13,治理层全量 383(377 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/34c5fecec1074d5a01acd8b184e70c63c5ed947b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:49:24-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]},{"id":"ad86507edf7f52241c3918e8c634b804e8b81b58","message":"chore(reports): 治理层四份 latest 回绑 @ 44686cc\n\n`基础目录统一审计.latest.json` 此前绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)并被提交——登记里写着 binding=clean-head、note 也写着「只在 clean HEAD 上提交」,\n但没有任何检查去读,于是这份证明不了任何提交态的报告一直挂在顶层。\n\n`pnpm run audit` 一次编排写三份,加上它触发的 check-gate-consumption 共四份,本轮一并\n在干净树上重跑回绑(governanceProvenance 忽略 latest 报告自身,故并行会话在途的报告\n不影响绑定判定)。四份现均为 44686cc / dirty=false。\n\n结论未变:审计仍 BLOCKED(FACT_DECISIONS_PENDING_OR_UNKNOWN、\nASSET_EVIDENCE_REVIEW_REQUIRED),assets 去掉 ageHours 后逐字相同。\n\n另记一笔:`门禁消费.latest.json` 相对它自己的输入 `门禁消费登记.json` 已经陈旧——\n登记表里 C-13 / C-14 那段 2026-09-18 的文字早已提交,报告却停在旧文本,无人察觉。\n这是新鲜度缺口,不是绑定缺口,本轮不处置。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ad86507edf7f52241c3918e8c634b804e8b81b58","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:47:30-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/基础目录统一审计.latest.json","平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]}],"total_commits":0,"head_commit":{"id":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","message":"feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径\n\n治理层是给全工作区定证据纪律的那一层,却没对自己的报告用同一条。登记表里每条 latest\n都写着 `\"binding\": \"clean-head\"`,note 也写着「只在 clean HEAD 上提交」,但 R1—R6 里\n没有任何一条去读它——R4 只查 provenance.gitSha 存不存在。\n\n于是 `基础目录统一审计.latest.json` 绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)被提交了,一路绿灯。一份绑在脏树上的报告证明不了任何一个提交态,它既不对应\n589467e 的树,也不对应此后任何提交。已于 ad86507 在干净树上重跑回绑。\n\n R7 BINDING_NOT_CLEAN 声明 clean-head 却自称绑在脏树上,且该报告本身已提交\n R8 BINDING_OFF_HISTORY 绑定的 SHA 不在当前 HEAD 的历史上(换基 / 重写历史后遗留)\n\n两条都只对**登记已声明绑定口径**的条目判——不替没声明的条目另立规矩。R7 跳过报告\n自身未提交的情况:那是在途产物,也可能是并行会话正在跑的中间态(本工作区常有 2—3\n个会话同时写 reports/),判红只会误伤对方的回绑,与真源仓偏差 #34-B 同一口径。\nR8 取不到祖先关系时整条不判,非 git 环境退回原判据。缺 gitSha 的报告由 R4 单独报,\n不叠加成三条。\n\n登记门禁测试 8 → 13,治理层全量 383(377 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/34c5fecec1074d5a01acd8b184e70c63c5ed947b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:49:24-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9504,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:29:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789717793
|
1789717809
|
0
|
1789717791
|
1789717809
|
|
|
0
|
Edit
Delete
|
|
24090
|
docs(计划): 登记两轮治理改动——未登记报告纳入机器记账、验收 runner 前置失败不得销毁 docs(计划): 登记两轮治理改动——未登记报告纳入机器记账、验收 runner 前置失败不得销毁证据...
|
117
|
5
|
governance.yml
|
55
|
5
|
0
|
refs/heads/main
|
44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","after":"44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/6bf1e7d524a70a3ecd012c29ea6c627866c01c5c...44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","commits":[{"id":"44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","message":"docs(计划): 登记两轮治理改动——未登记报告纳入机器记账、验收 runner 前置失败不得销毁证据\n\n§8 增两条当日记录:\n\n一、`check:evidence` 的未登记类此前只由 info 级 `SCOPE_UNDECLARED` 记着,处置口径\n写在 `evidence-scopes.json` 的散文里、无人机器核对,48 份报告里 13 份在此(27%)。\n已按例外机制的同一纪律搬成 `undeclared` 逐条登记,三条新规则判红两端。顺带订正\n「聚合报告」类的两处误归类,`runtime-governance` 与 `conformance-differential`\n转入正式登记(35 → 37)。\n\n二、为重跑被注释提交打过期的验收报告,照 runbook §7 逐字执行,复现两个缺陷:\n配方缺七个 `DATABASE_URL_\u003cMODULE\u003e`;三个验收 runner 在前置守卫失败时仍无条件写\n报告,把 775/775 覆盖成 failed。后者是证据完整性问题,三处已统一修并各自实测。\n\n三份需真实容器的验收报告仍未重跑,理由写在条目里:其设计中的保鲜路径是 CI。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:29:15-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","message":"docs(计划): 登记两轮治理改动——未登记报告纳入机器记账、验收 runner 前置失败不得销毁证据\n\n§8 增两条当日记录:\n\n一、`check:evidence` 的未登记类此前只由 info 级 `SCOPE_UNDECLARED` 记着,处置口径\n写在 `evidence-scopes.json` 的散文里、无人机器核对,48 份报告里 13 份在此(27%)。\n已按例外机制的同一纪律搬成 `undeclared` 逐条登记,三条新规则判红两端。顺带订正\n「聚合报告」类的两处误归类,`runtime-governance` 与 `conformance-differential`\n转入正式登记(35 → 37)。\n\n二、为重跑被注释提交打过期的验收报告,照 runbook §7 逐字执行,复现两个缺陷:\n配方缺七个 `DATABASE_URL_\u003cMODULE\u003e`;三个验收 runner 在前置守卫失败时仍无条件写\n报告,把 775/775 覆盖成 failed。后者是证据完整性问题,三处已统一修并各自实测。\n\n三份需真实容器的验收报告仍未重跑,理由写在条目里:其设计中的保鲜路径是 CI。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:29:15-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9465,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:21:05+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789716734
|
1789716764
|
0
|
1789716558
|
1789716764
|
|
|
0
|
Edit
Delete
|
|
24089
|
chore(reports): check:evidence 回绑 @ 34fresh
|
116
|
5
|
platform.yml
|
113
|
5
|
0
|
refs/heads/main
|
0abd15c28dd2b92c583289934db660363b202fd4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df678ac14f88628a7bc48ce3b53e248f1b257e8b","after":"0abd15c28dd2b92c583289934db660363b202fd4","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/df678ac14f88628a7bc48ce3b53e248f1b257e8b...0abd15c28dd2b92c583289934db660363b202fd4","commits":[{"id":"0abd15c28dd2b92c583289934db660363b202fd4","message":"chore(reports): check:evidence 回绑 @ 34fresh\n\n37 份已登记、34 份新鲜、0 error;余 3 份过期为需真实容器重跑的验收报告\n(runtime-acceptance / mainline-acceptance / revocation-sla,warn 按设计)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0abd15c28dd2b92c583289934db660363b202fd4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:28:32-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},{"id":"a4b3d356f9d2f7a831198787a5b19194f4f763c8","message":"chore(reports): 双后端差分验收重跑回绑 @ 746f323\n\n本轮把 conformance-differential 从「未登记的聚合报告」订正为登记条目后,它第一次\n被新鲜度门禁判为过期——触发者正是同轮改到的 check-conformance-differential.mjs,\n说明登记的作用域是对的。真实 DB + Redis 重跑:7 checkpoints × 2 backends,\n逐字段 0 differences。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a4b3d356f9d2f7a831198787a5b19194f4f763c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:28:10-07:00","added":[],"removed":[],"modified":["runtime/reports/conformance-differential.latest.json"]},{"id":"746f323c203531c4ced5f3ca60ea29a4c53c7c4d","message":"chore(reports): 工作台两份快照回绑 @ adda76a\n\nrunbook §7 的订正落在运维快照作用域内(docs/runbook.md),经 reports:rebind 在\nHEAD 的干净检出里重跑,两份同源快照一并带回。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/746f323c203531c4ced5f3ca60ea29a4c53c7c4d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:27:33-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"adda76acfd8fa046e1f2a320c15b5384b4ddef73","message":"fix(runtime): 前置守卫失败不得覆盖验收报告,并补「一模块一库」检查\n\n按 docs/runbook.md §7 的配方逐字重跑 runtime 验收,当场复现两个缺陷。\n\n一、配方本身是错的。§7 只写了 DATABASE_URL 与 REDIS_URL,而七个模块的\nprisma/schema.prisma 各自写死 url = env(\"DATABASE_URL_\u003cMODULE\u003e\")。照它执行时,\n前两步 nestjs/fastify-migrate-deploy 会通过,第三步 migrate-status 才以\nPrisma P1012 \"Environment variable not found\" 失败——报错指向 wasm 校验,\n完全看不出是环境没配齐。§7 已补齐七个变量,并写明 prepare-mainline.mjs\n只供给主线验收要的 5 个(fact/permission/audit/owner/consumer),差的四个要自己建。\n\n二、更要紧的:那次失败把 runtime-acceptance.latest.json 覆盖成了 status:failed。\n775/775 那份真实结论就此丢失,靠 git checkout 才救回——差一点被当作真实回归提交上去。\n根因是三个 runner 都无条件 writeFileSync:前置守卫失败意味着**验收根本没跑**,\n此时写一份 failed 报告不是诚实,是用操作者的环境问题顶替代码的结论,\n并且顺手销毁了上一次真的跑过的证据。三个 runner 统一改为前置失败即退出、不碰报告:\n check-runtime-acceptance 实测:报告 sha256 前后一致\n check-ui-acceptance 实测:缺 REDIS_URL 时报告 sha256 前后一致\n check-conformance-differential 实测:同上\n\n新增 preflightModuleDatabases + requiredModuleDatabaseEnvNames,把缺失的七个\n变量在动任何东西之前一次列清。变量名**现取自各模块 prisma/schema.prisma**,\n不写死清单:模块增减自动跟上,也避免抄错 ai-gateway 那个没有下划线的\nDATABASE_URL_AIGATEWAY。该检查只接进 runtime 验收——UI 与差分验收跑的是\n两个 app,不走一模块一库。\n\npnpm check 全链通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/adda76acfd8fa046e1f2a320c15b5384b4ddef73","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:26:48-07:00","added":[],"removed":[],"modified":["docs/runbook.md","runtime/scripts/check-conformance-differential.mjs","runtime/scripts/check-runtime-acceptance.mjs","runtime/scripts/check-ui-acceptance.mjs","runtime/scripts/lib/acceptance-base-guard.mjs"]}],"total_commits":0,"head_commit":{"id":"0abd15c28dd2b92c583289934db660363b202fd4","message":"chore(reports): check:evidence 回绑 @ 34fresh\n\n37 份已登记、34 份新鲜、0 error;余 3 份过期为需真实容器重跑的验收报告\n(runtime-acceptance / mainline-acceptance / revocation-sla,warn 按设计)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0abd15c28dd2b92c583289934db660363b202fd4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:28:32-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":18077,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T15:14:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789716516
|
1789716734
|
0
|
1789716516
|
1789716805
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24088
|
docs(架构): 总架构配套图与口径订正——重画图 1 / 图 2,新增图 4 关系全景
|
117
|
5
|
governance.yml
|
54
|
5
|
0
|
refs/heads/main
|
6bf1e7d524a70a3ecd012c29ea6c627866c01c5c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"650711d6cb4d48b6d77a3edea998d26d60f87567","after":"6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/650711d6cb4d48b6d77a3edea998d26d60f87567...6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","commits":[{"id":"6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","message":"docs(架构): 总架构配套图与口径订正——重画图 1 / 图 2,新增图 4 关系全景\n\n企业应用群总架构-2026-09-17.md 与图 3 已随 5b7a1c0 提交(暂存区被并行会话的\n提交扫走,不是有意合并进那个范围),本提交补齐其余部分。\n\n**图 1 / 图 2 重画。** 图 1 原写「基础设施(23 项)」、画着「四候选」框,应用名\n还是改名前的「嗨设首席」;图 2 把 OS 标成「Projection 未实现」、干线标成「持久\n投递待裁决」。四处都已被后续裁决推翻:四候选 2026-09-16 撤销(CHG-015)、Catalog\n现为 21 条,OS 投影 2026-09-14 已在 main,三条前置 DEC 全部批准。图 1 另加一条\n跨层治理带,把「平台治理不是第六层」画进图面。\n\n**新增图 4 现存关系全景。** 逐条查实全组的边:左半五类有边的关系,右半七条负\n结论。查证推翻了总架构初稿 §3.1 的一处判断——初稿用 grep '\"@juhai/…\"' 取依赖,\n同时命中了 name 字段,于是把报价的 @juhai/public-file 与智服的\n@juhai/service-contracts 当成「对下层消费」,实际两者都是该仓自己的 workspace 包。\n按带版本号的依赖项重取:四个业务应用对下层的跨仓包依赖为零,全组跨仓包依赖只有\nHR、OS、enterprise-platform 三个消费仓。\n\n由此改口径的另有两条:\n\n- 三项 module_e2(文件 / 通知 / 配置)在工单仓里是 @repo/* private 包,仓外零\n 消费者,只被本仓 api-fastify / api-nestjs 依赖——「已被业务应用消费」不成立,\n 三消费者规则的计数应从 0 算起\n- relationships.json 的 relationships 为 {},关系在机器层面没有登记;图 4 的边\n 全部由 package.json / kernel.products.json / facts.json / runtime/modules.json\n 推导,今天没有门禁能发现某条关系消失\n\n**四份下游文档按活跃 Catalog 改齐:** 分层与装配模型(23→21、派生仓 3→0、1/23\n的分母;§3.1 是带日期快照,只加订正行不改写正文)、基础/CLAUDE.md 分层词表段、\n基础/README 头段(「已退役 15 个、现存 3 个」是 09-16 白天的中间态)、企业领域\n应用层 README(引的 platform-contracts 已于 2026-09-16 物理移除,事实数 1→11)。\n平台治理 README 收纳表随新增文件改计数(基础/ 根文件 63→65,根散文件 9→10)。\n\n复跑:工作区一致性门禁 L1—L13 只剩既有的 L9(8 个仓共用 compose project 名\napi-nestjs),L4 / L13 均为 0;治理层 npm test 378 项 0 失败;check-domain-layer\n13/13 条全在基线内、无新增。未动任何冻结物、审批记录与机器 Catalog。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:20:28-07:00","added":["平台治理/基础/分层模型-图4-现存关系全景.svg"],"removed":[],"modified":["企业领域应用层/README.md","平台治理/README.md","平台治理/企业应用群总架构-2026-09-17.md","平台治理/基础/CLAUDE.md","平台治理/基础/README.md","平台治理/基础/分层模型-图1-五层与依赖方向.svg","平台治理/基础/分层模型-图2-现存跨应用关系.svg","平台治理/基础/基础目录分层与装配模型.md"]}],"total_commits":0,"head_commit":{"id":"6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","message":"docs(架构): 总架构配套图与口径订正——重画图 1 / 图 2,新增图 4 关系全景\n\n企业应用群总架构-2026-09-17.md 与图 3 已随 5b7a1c0 提交(暂存区被并行会话的\n提交扫走,不是有意合并进那个范围),本提交补齐其余部分。\n\n**图 1 / 图 2 重画。** 图 1 原写「基础设施(23 项)」、画着「四候选」框,应用名\n还是改名前的「嗨设首席」;图 2 把 OS 标成「Projection 未实现」、干线标成「持久\n投递待裁决」。四处都已被后续裁决推翻:四候选 2026-09-16 撤销(CHG-015)、Catalog\n现为 21 条,OS 投影 2026-09-14 已在 main,三条前置 DEC 全部批准。图 1 另加一条\n跨层治理带,把「平台治理不是第六层」画进图面。\n\n**新增图 4 现存关系全景。** 逐条查实全组的边:左半五类有边的关系,右半七条负\n结论。查证推翻了总架构初稿 §3.1 的一处判断——初稿用 grep '\"@juhai/…\"' 取依赖,\n同时命中了 name 字段,于是把报价的 @juhai/public-file 与智服的\n@juhai/service-contracts 当成「对下层消费」,实际两者都是该仓自己的 workspace 包。\n按带版本号的依赖项重取:四个业务应用对下层的跨仓包依赖为零,全组跨仓包依赖只有\nHR、OS、enterprise-platform 三个消费仓。\n\n由此改口径的另有两条:\n\n- 三项 module_e2(文件 / 通知 / 配置)在工单仓里是 @repo/* private 包,仓外零\n 消费者,只被本仓 api-fastify / api-nestjs 依赖——「已被业务应用消费」不成立,\n 三消费者规则的计数应从 0 算起\n- relationships.json 的 relationships 为 {},关系在机器层面没有登记;图 4 的边\n 全部由 package.json / kernel.products.json / facts.json / runtime/modules.json\n 推导,今天没有门禁能发现某条关系消失\n\n**四份下游文档按活跃 Catalog 改齐:** 分层与装配模型(23→21、派生仓 3→0、1/23\n的分母;§3.1 是带日期快照,只加订正行不改写正文)、基础/CLAUDE.md 分层词表段、\n基础/README 头段(「已退役 15 个、现存 3 个」是 09-16 白天的中间态)、企业领域\n应用层 README(引的 platform-contracts 已于 2026-09-16 物理移除,事实数 1→11)。\n平台治理 README 收纳表随新增文件改计数(基础/ 根文件 63→65,根散文件 9→10)。\n\n复跑:工作区一致性门禁 L1—L13 只剩既有的 L9(8 个仓共用 compose project 名\napi-nestjs),L4 / L13 均为 0;治理层 npm test 378 项 0 失败;check-domain-layer\n13/13 条全在基线内、无新增。未动任何冻结物、审批记录与机器 Catalog。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/6bf1e7d524a70a3ecd012c29ea6c627866c01c5c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:20:28-07:00","added":["平台治理/基础/分层模型-图4-现存关系全景.svg"],"removed":[],"modified":["企业领域应用层/README.md","平台治理/README.md","平台治理/企业应用群总架构-2026-09-17.md","平台治理/基础/CLAUDE.md","平台治理/基础/README.md","平台治理/基础/分层模型-图1-五层与依赖方向.svg","平台治理/基础/分层模型-图2-现存跨应用关系.svg","平台治理/基础/基础目录分层与装配模型.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9394,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T14:59:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789716066
|
1789716082
|
0
|
1789716065
|
1789716082
|
|
|
0
|
Edit
Delete
|
|
24087
|
chore(reports): check:evidence 回绑 @ e9d0779
|
116
|
5
|
platform.yml
|
112
|
5
|
0
|
refs/heads/main
|
df678ac14f88628a7bc48ce3b53e248f1b257e8b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","after":"df678ac14f88628a7bc48ce3b53e248f1b257e8b","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8...df678ac14f88628a7bc48ce3b53e248f1b257e8b","commits":[{"id":"df678ac14f88628a7bc48ce3b53e248f1b257e8b","message":"chore(reports): check:evidence 回绑 @ e9d0779\n\n37 份已登记(+2:runtime-governance error、conformance-differential warn)、34 份新鲜、\n11 份未登记且全部有处置说明、evidenceUnaccounted=0。3 条 warn 为待重跑的验收报告。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/df678ac14f88628a7bc48ce3b53e248f1b257e8b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:14:15-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},{"id":"e9d07790cee2a6780ecc755cb6b6efe70890a727","message":"feat(governance): 未登记的报告也要逐条记账——把散文口径搬成机器判据,并订正两处误归类\n\ncheck:evidence 的 SCOPE_UNDECLARED 是 info,本身不拦任何东西。于是「未登记作用域」\n这一类可以无声增长,而它恰恰是新鲜度门禁完全看不见的那部分:实测 48 份报告里 13 份\n在此,占 27%。这 13 份为什么不登,此前只写在 evidence-scopes.json 的 note 散文里,\n没有任何机器核对——明天多出一份新报告,它会自动落进这个黑箱,全链门禁一片绿。\n\n按例外机制的同一纪律(G-13:自带出口)把口径搬成逐条登记的 undeclared:\n UNDECLARED_UNACCOUNTED 报告存在,既无作用域也无账(新洞的唯一入口,判红)\n UNDECLARED_STALE 账指向的报告已登记作用域,或文件已不存在(判红)\n UNDECLARED_INCOMPLETE 缺 report/class/reason/recordedAt/resolveBy,或 class 非法\nclass 只允许 self / aggregate / provenance-missing / one-off-snapshot / no-generator。\n记账不是豁免:后两类的出口只有「补生成脚本后转正式登记」或「退役该报告」二选一。\n\n逐份走读生成脚本时发现 note 的 ③「聚合报告」类有两处归错,两份因此一直不受监控:\n runtime-governance 不聚合任何报告,直接走读 apps/ 源码与两份 prisma schema\n 判租户接线、outbox 事务、直写发布;纯静态零容器 → error\n conformance-differential 在 apps/api-nestjs 真跑 vitest,用例同时 import 了\n NestJS 与 Fastify 两个后端的装配;要真 DB → warn\n两份均已转入 entries(35 → 37 条),③ 实际只剩 governance 与 governance-status。\n\nclass=self 不查文件存在性:本门禁的报告是判定跑完之后才写的,判定当时它可以合法地\n不存在。这是集成用例抓出来的——起初一视同仁地查,临时仓第一次运行就被自己判红。\n\n门禁测试 277 → 283(新增 6 条负向用例,含「新报告悄悄落进 reports/ 必须判红」的\n集成证明)。pnpm check 全链通过;check:evidence 37 份已登记、34 份新鲜、11 份未登记\n且全部有处置说明、0 份无说明。余 3 份过期是注释提交 c9e0f59 落进验收作用域所致,\n须重跑重绑,不在本提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e9d07790cee2a6780ecc755cb6b6efe70890a727","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:13:43-07:00","added":[],"removed":[],"modified":["governance/README.md","governance/check-evidence-freshness.mjs","governance/evidence-scopes.json","governance/test/check-evidence-freshness.test.mjs"]}],"total_commits":0,"head_commit":{"id":"df678ac14f88628a7bc48ce3b53e248f1b257e8b","message":"chore(reports): check:evidence 回绑 @ e9d0779\n\n37 份已登记(+2:runtime-governance error、conformance-differential warn)、34 份新鲜、\n11 份未登记且全部有处置说明、evidenceUnaccounted=0。3 条 warn 为待重跑的验收报告。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/df678ac14f88628a7bc48ce3b53e248f1b257e8b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:14:15-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":18037,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T14:49:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789715665
|
1789715703
|
0
|
1789715664
|
1789715732
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24086
|
docs(框架): FR-2 / FR-3 一并提交框架 Owner,附 2026-09-18 复核 docs(框架): FR-2 / FR-3 一并提交框架 Owner,附 2026-09-18 复核与新证据...
|
117
|
5
|
governance.yml
|
53
|
5
|
0
|
refs/heads/main
|
650711d6cb4d48b6d77a3edea998d26d60f87567
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","after":"650711d6cb4d48b6d77a3edea998d26d60f87567","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa...650711d6cb4d48b6d77a3edea998d26d60f87567","commits":[{"id":"650711d6cb4d48b6d77a3edea998d26d60f87567","message":"docs(框架): FR-2 / FR-3 一并提交框架 Owner,附 2026-09-18 复核与新证据\n\n两项 2026-09-12 提出后一直未受理。复核后确认**仍成立**,而不是直接重提一份\n可能已过期的请求——内核 0.22.0 实测:\n\n- FR-2:createLocalPlatformPorts 的 auditLog 依旧是同步回调,实现只能表达\n 「记了 / 没记」,Q04 要求的「与业务写同事务落盘」在框架层没有接缝\n- FR-3:RealtimeEnvelope 仍只有 seq 与 context,无 ordering / aggregateKey /\n aggregateVersion,replay-buffer 只能按全局 seq 检缺口\n\n六天里本仓积累的新证据让两项更有说服力:\n\n- FR-2:已落地 audit-commit-protocol.ts(2026-09-16),把 Q04 两模式与六类\n 故障注入点写成机器可读的 AUDIT_FAULT_MATRIX 并以夹具 + 集成用例覆盖 M6 侧;\n 其中 F1 / F2 / F4 与 F6 的 Owner 侧义务只能由框架写链提供接缝,模块侧补不了。\n 受理后该矩阵即可两端对账\n- FR-3:DEC-013—016 Approval gate 材料 ④ 已备 Envelope v2 候选 schema\n (aggregate_version + previous_aggregate_version 必填,检查器判\n REQUIRED_PROPERTY_ADDED ⇒ 需发新主版本)。那是契约侧的轨,与本请求的内核侧\n 可选字段互不冲突,两轨可并行——这一点此前没写清,容易被误读为重复请求\n\n两项都向后兼容、默认关闭,不改现有派生仓行为。README 送达入口与原始 FR 正文\n两处同步补记,避免说法不一;并明写请求给一个受理或不受理的结论——长期悬空会\n让本仓的 Q04 / Q06 落地一直只能做半边。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/650711d6cb4d48b6d77a3edea998d26d60f87567","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:59:35-07:00","added":[],"removed":[],"modified":["工程基础框架/README.md","工程基础框架/基础设施仓框架变更请求-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"650711d6cb4d48b6d77a3edea998d26d60f87567","message":"docs(框架): FR-2 / FR-3 一并提交框架 Owner,附 2026-09-18 复核与新证据\n\n两项 2026-09-12 提出后一直未受理。复核后确认**仍成立**,而不是直接重提一份\n可能已过期的请求——内核 0.22.0 实测:\n\n- FR-2:createLocalPlatformPorts 的 auditLog 依旧是同步回调,实现只能表达\n 「记了 / 没记」,Q04 要求的「与业务写同事务落盘」在框架层没有接缝\n- FR-3:RealtimeEnvelope 仍只有 seq 与 context,无 ordering / aggregateKey /\n aggregateVersion,replay-buffer 只能按全局 seq 检缺口\n\n六天里本仓积累的新证据让两项更有说服力:\n\n- FR-2:已落地 audit-commit-protocol.ts(2026-09-16),把 Q04 两模式与六类\n 故障注入点写成机器可读的 AUDIT_FAULT_MATRIX 并以夹具 + 集成用例覆盖 M6 侧;\n 其中 F1 / F2 / F4 与 F6 的 Owner 侧义务只能由框架写链提供接缝,模块侧补不了。\n 受理后该矩阵即可两端对账\n- FR-3:DEC-013—016 Approval gate 材料 ④ 已备 Envelope v2 候选 schema\n (aggregate_version + previous_aggregate_version 必填,检查器判\n REQUIRED_PROPERTY_ADDED ⇒ 需发新主版本)。那是契约侧的轨,与本请求的内核侧\n 可选字段互不冲突,两轨可并行——这一点此前没写清,容易被误读为重复请求\n\n两项都向后兼容、默认关闭,不改现有派生仓行为。README 送达入口与原始 FR 正文\n两处同步补记,避免说法不一;并明写请求给一个受理或不受理的结论——长期悬空会\n让本仓的 Q04 / Q06 落地一直只能做半边。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/650711d6cb4d48b6d77a3edea998d26d60f87567","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:59:35-07:00","added":[],"removed":[],"modified":["工程基础框架/README.md","工程基础框架/基础设施仓框架变更请求-2026-09-12.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9380,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T14:58:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789714781
|
1789714797
|
0
|
1789714779
|
1789714797
|
|
|
0
|
Edit
Delete
|
|
24085
|
docs(框架): FR-6 提交框架 Owner——在送达入口 README 登记待受理
|
117
|
5
|
governance.yml
|
52
|
5
|
0
|
refs/heads/main
|
5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e393d2db524e2c16a517866d412b1d039c01640a","after":"5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/e393d2db524e2c16a517866d412b1d039c01640a...5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","commits":[{"id":"5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","message":"docs(框架): FR-6 提交框架 Owner——在送达入口 README 登记待受理\n\nFR-6 的正文 2026-09-18 已写入 基础设施仓框架变更请求-2026-09-12.md(48c5a9c),\n但那份文档本身不是送达入口:框架 Owner 是从 工程基础框架/README.md 的变更请求\n条目看待办的(FR-1 / FR-4 / FR-5 与另两份平台治理的请求都是这么送达并受理的)。\n此前只写了正文没更新入口,等于没提。\n\nREADME 该条更新为:FR-1 已落地 0.19.0、FR-4 / FR-5 已落地 0.20.0、**FR-6 新提\n待受理**、FR-2 / FR-3 仍未受理,并就地摘出 FR-6 的请求与依据:\n\ncheck:docs-truth 的四级证据新鲜度须按「该级别是否已接线」判定。起因是基础设施仓\n同步到 0.22.0 时实测,新增的制品部署 / 生产运维两级依赖 apps/api-nestjs/Dockerfile,\n而那份里有 COPY packages/kernel/package.json——该仓按 DEC-010 / DEC-031 只 exact\npin 已发布的 @juhai/kernel,仓内不存在 packages/kernel,构建必然失败,这道门禁\n在该仓只能恒红。恒红门禁不携带信息,正是 0.22.0 自己要治的失效模式的反面。\n\n请求对应 pnpm 脚本存在则断言照旧、不存在则 SKIPPED,不接受占位报告;接线了却让\n报告陈旧的仓仍照旧判红。影响面是框架仓单点改动加一条负向用例。基础设施仓已本地\n修正并在改动处注释指向 FR-6,受理后删除该段回到框架原文。\n\n未触碰框架仓 base-framework(其工作区有 12 项他人在途改动)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:57:57-07:00","added":["平台治理/企业应用群总架构-2026-09-17.md","平台治理/基础/分层模型-图3-三类流量与降级.svg"],"removed":[],"modified":["工程基础框架/README.md"]}],"total_commits":0,"head_commit":{"id":"5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","message":"docs(框架): FR-6 提交框架 Owner——在送达入口 README 登记待受理\n\nFR-6 的正文 2026-09-18 已写入 基础设施仓框架变更请求-2026-09-12.md(48c5a9c),\n但那份文档本身不是送达入口:框架 Owner 是从 工程基础框架/README.md 的变更请求\n条目看待办的(FR-1 / FR-4 / FR-5 与另两份平台治理的请求都是这么送达并受理的)。\n此前只写了正文没更新入口,等于没提。\n\nREADME 该条更新为:FR-1 已落地 0.19.0、FR-4 / FR-5 已落地 0.20.0、**FR-6 新提\n待受理**、FR-2 / FR-3 仍未受理,并就地摘出 FR-6 的请求与依据:\n\ncheck:docs-truth 的四级证据新鲜度须按「该级别是否已接线」判定。起因是基础设施仓\n同步到 0.22.0 时实测,新增的制品部署 / 生产运维两级依赖 apps/api-nestjs/Dockerfile,\n而那份里有 COPY packages/kernel/package.json——该仓按 DEC-010 / DEC-031 只 exact\npin 已发布的 @juhai/kernel,仓内不存在 packages/kernel,构建必然失败,这道门禁\n在该仓只能恒红。恒红门禁不携带信息,正是 0.22.0 自己要治的失效模式的反面。\n\n请求对应 pnpm 脚本存在则断言照旧、不存在则 SKIPPED,不接受占位报告;接线了却让\n报告陈旧的仓仍照旧判红。影响面是框架仓单点改动加一条负向用例。基础设施仓已本地\n修正并在改动处注释指向 FR-6,受理后删除该段回到框架原文。\n\n未触碰框架仓 base-framework(其工作区有 12 项他人在途改动)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/5b7a1c033ef290f7fa48f58bf0eae5eaa38150aa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:57:57-07:00","added":["平台治理/企业应用群总架构-2026-09-17.md","平台治理/基础/分层模型-图3-三类流量与降级.svg"],"removed":[],"modified":["工程基础框架/README.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9359,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T14:49:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789714681
|
1789714697
|
0
|
1789714680
|
1789714697
|
|
|
0
|
Edit
Delete
|
|
24084
|
docs(计划): 偏差 #36 裁决「维持分离」,S-5 由过渡方案改判为终态
|
117
|
5
|
governance.yml
|
51
|
5
|
0
|
refs/heads/main
|
e393d2db524e2c16a517866d412b1d039c01640a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4be34a8411ad6ac48125865937ecad8ec32abc1f","after":"e393d2db524e2c16a517866d412b1d039c01640a","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/4be34a8411ad6ac48125865937ecad8ec32abc1f...e393d2db524e2c16a517866d412b1d039c01640a","commits":[{"id":"e393d2db524e2c16a517866d412b1d039c01640a","message":"docs(计划): 偏差 #36 裁决「维持分离」,S-5 由过渡方案改判为终态\n\n目录负责人裁定选项 ①:模块依赖故障 ≠ 宿主运行时不健康。模块健康只在\nGET /api/platform/modules[/:id/health] 可见,/api/health 只反映宿主依赖。\n\n两处改判:\n- S-5 不再标「过渡方案」而是终态。这条分离由 e2e/identity-profile.test.ts\n 第 188—189 行的成对断言守着,是设计不是欠账;真源仓已给该用例补注释说明\n 裁决出处与那次 775 → 561 的实锤\n- 跨目录待办更新:FR-1—5 已随框架 0.22.0 全部到位(FR-1 健康子检查 0.19.0、\n FR-4 租户 claim 读序 0.20.0、FR-5 runner 三值 0.20.0),余 FR-6 待受理\n\n偏差 #36 移入已关闭,并在其中记下「FR 被受理 ≠ 它解锁的工作就该做」。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/e393d2db524e2c16a517866d412b1d039c01640a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:49:17-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"e393d2db524e2c16a517866d412b1d039c01640a","message":"docs(计划): 偏差 #36 裁决「维持分离」,S-5 由过渡方案改判为终态\n\n目录负责人裁定选项 ①:模块依赖故障 ≠ 宿主运行时不健康。模块健康只在\nGET /api/platform/modules[/:id/health] 可见,/api/health 只反映宿主依赖。\n\n两处改判:\n- S-5 不再标「过渡方案」而是终态。这条分离由 e2e/identity-profile.test.ts\n 第 188—189 行的成对断言守着,是设计不是欠账;真源仓已给该用例补注释说明\n 裁决出处与那次 775 → 561 的实锤\n- 跨目录待办更新:FR-1—5 已随框架 0.22.0 全部到位(FR-1 健康子检查 0.19.0、\n FR-4 租户 claim 读序 0.20.0、FR-5 runner 三值 0.20.0),余 FR-6 待受理\n\n偏差 #36 移入已关闭,并在其中记下「FR 被受理 ≠ 它解锁的工作就该做」。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/e393d2db524e2c16a517866d412b1d039c01640a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:49:17-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9322,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T14:36:55+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789714198
|
1789714213
|
0
|
1789714159
|
1789714213
|
|
|
0
|
Edit
Delete
|
|
24083
|
test(identity): 给「模块故障不传导到宿主健康」的成对断言补设计说明
|
116
|
5
|
platform.yml
|
111
|
5
|
0
|
refs/heads/main
|
c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a63414ab085268e9570c6f51816a92718f2effeb","after":"c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/a63414ab085268e9570c6f51816a92718f2effeb...c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","commits":[{"id":"c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","message":"test(identity): 给「模块故障不传导到宿主健康」的成对断言补设计说明\n\n2026-09-18 目录负责人裁决「维持分离」(开发计划 §6 偏差 #36):模块依赖故障\n≠ 宿主运行时不健康。模块健康只在 GET /api/platform/modules[/:id/health] 可见,\n/api/health 只反映宿主自己的依赖。\n\n这条用例第 188—189 行的 degraded 与 200 是成对断言,此前没有注释说明它守的是\n一个有意的设计选择,读起来像实现欠账——于是框架 0.19.0 受理本仓 FR-1 后,我\n想当然地把模块 health() 汇入 /api/health,真实 DB 验收当场由 775 跌到 561,\n正是被这两行拦下的。\n\n补注释写明裁决出处与那次实锤,并点出「FR 被受理 ≠ 它解锁的工作就该做」。\n只加注释,断言与逻辑一字未动;typecheck 14/14。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:49:14-07:00","added":[],"removed":[],"modified":["runtime/test/e2e/identity-profile.test.ts"]}],"total_commits":0,"head_commit":{"id":"c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","message":"test(identity): 给「模块故障不传导到宿主健康」的成对断言补设计说明\n\n2026-09-18 目录负责人裁决「维持分离」(开发计划 §6 偏差 #36):模块依赖故障\n≠ 宿主运行时不健康。模块健康只在 GET /api/platform/modules[/:id/health] 可见,\n/api/health 只反映宿主自己的依赖。\n\n这条用例第 188—189 行的 degraded 与 200 是成对断言,此前没有注释说明它守的是\n一个有意的设计选择,读起来像实现欠账——于是框架 0.19.0 受理本仓 FR-1 后,我\n想当然地把模块 health() 汇入 /api/health,真实 DB 验收当场由 775 跌到 561,\n正是被这两行拦下的。\n\n补注释写明裁决出处与那次实锤,并点出「FR 被受理 ≠ 它解锁的工作就该做」。\n只加注释,断言与逻辑一字未动;typecheck 14/14。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/c9e0f59d11a533e7e5e3386f80eff8fb6d6ba6c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:49:14-07:00","added":[],"removed":[],"modified":["runtime/test/e2e/identity-profile.test.ts"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":18028,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T13:39:46+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789714159
|
1789714198
|
0
|
1789714158
|
1789714241
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24082
|
docs(计划): 登记偏差 #36——S-5 转正的前提不成立,试做后撤回
|
117
|
5
|
governance.yml
|
50
|
5
|
0
|
refs/heads/main
|
4be34a8411ad6ac48125865937ecad8ec32abc1f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9a959dc86d101a8abfcd42db52f679d5dbb8de8c","after":"4be34a8411ad6ac48125865937ecad8ec32abc1f","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/9a959dc86d101a8abfcd42db52f679d5dbb8de8c...4be34a8411ad6ac48125865937ecad8ec32abc1f","commits":[{"id":"4be34a8411ad6ac48125865937ecad8ec32abc1f","message":"docs(计划): 登记偏差 #36——S-5 转正的前提不成立,试做后撤回\n\n框架同步带来 FR-1(HealthResponse.checks 可扩展,0.19.0 受理),本仓提该 FR\n的动机正是让 S-5 模块健康子检查从「过渡方案」转正、汇入 /api/health。\n\n试做后撤回:接线后真实 DB 验收由 775 跌到 561,e2e/identity-profile.test.ts\n两条失败。读用例才看清——其中一条的名字就写着「identity 依赖故障时宿主数据库\n仍健康」,第 188—189 行是成对断言:模块视图须报 degraded,而宿主 /api/health\n须仍为 200。本仓早已有意分离「模块依赖故障」与「宿主运行时不健康」,我的改动\n等于把模块故障提升成宿主故障,破坏既有设计。\n\n已完整撤回,真源仓回到 a63414a / dirty 0,未提交任何接线改动。\n\n§6 增偏差 #36,给三个处置选项(维持分离 / 汇入但不影响状态码,需另提 FR 支持\nobservational 子检查 / 按模块 state 分级传导,属设计问题);裁决前 S-5 保持\n过渡方案,不因 FR-1 已受理就当作可转正。\n\n方法上的教训:FR 被受理 ≠ 它解锁的工作就该做;转正前要先读既有用例在守什么。\n这条与当日另一次假阴性(验收红先读错误码、别先怀疑代码)互补——那次是错怪了\n代码,这次是代码真错了,分辨靠的都是读断言而不是看数字。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/4be34a8411ad6ac48125865937ecad8ec32abc1f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:36:51-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"4be34a8411ad6ac48125865937ecad8ec32abc1f","message":"docs(计划): 登记偏差 #36——S-5 转正的前提不成立,试做后撤回\n\n框架同步带来 FR-1(HealthResponse.checks 可扩展,0.19.0 受理),本仓提该 FR\n的动机正是让 S-5 模块健康子检查从「过渡方案」转正、汇入 /api/health。\n\n试做后撤回:接线后真实 DB 验收由 775 跌到 561,e2e/identity-profile.test.ts\n两条失败。读用例才看清——其中一条的名字就写着「identity 依赖故障时宿主数据库\n仍健康」,第 188—189 行是成对断言:模块视图须报 degraded,而宿主 /api/health\n须仍为 200。本仓早已有意分离「模块依赖故障」与「宿主运行时不健康」,我的改动\n等于把模块故障提升成宿主故障,破坏既有设计。\n\n已完整撤回,真源仓回到 a63414a / dirty 0,未提交任何接线改动。\n\n§6 增偏差 #36,给三个处置选项(维持分离 / 汇入但不影响状态码,需另提 FR 支持\nobservational 子检查 / 按模块 state 分级传导,属设计问题);裁决前 S-5 保持\n过渡方案,不因 FR-1 已受理就当作可转正。\n\n方法上的教训:FR 被受理 ≠ 它解锁的工作就该做;转正前要先读既有用例在守什么。\n这条与当日另一次假阴性(验收红先读错误码、别先怀疑代码)互补——那次是错怪了\n代码,这次是代码真错了,分辨靠的都是读断言而不是看数字。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/4be34a8411ad6ac48125865937ecad8ec32abc1f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T23:36:51-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9285,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T13:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789713415
|
1789713431
|
0
|
1789713415
|
1789713431
|
|
|
0
|
Edit
Delete
|
|
24081
|
docs(计划): 框架同步 0.16.1 → 0.22.0 完成,一致性门禁 L12 清零
|
117
|
5
|
governance.yml
|
49
|
5
|
0
|
refs/heads/main
|
9a959dc86d101a8abfcd42db52f679d5dbb8de8c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","after":"9a959dc86d101a8abfcd42db52f679d5dbb8de8c","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/d70b1e5b6f3ed902a64adac86d0a4d953cadddb8...9a959dc86d101a8abfcd42db52f679d5dbb8de8c","commits":[{"id":"9a959dc86d101a8abfcd42db52f679d5dbb8de8c","message":"docs(计划): 框架同步 0.16.1 → 0.22.0 完成,一致性门禁 L12 清零\n\n七批里 F-2a / F-2b / F-3 / F-4 / F-7 完成,F-1 证伪取消,F-5 撤回并提 FR-6,\nF-6 并入。真源仓 a63414a。\n\n验收(clean 765300b,与升级前逐项持平):runtime 775/775 且租户 RLS enforce、\nUI 5/5、主线四套件 11/17/19/18、恢复演练 passed、端口一致性 41/41,\ncheck:evidence passed 35 份全新鲜 / 0 过期 / 0 例外。\nmigration:record --mode sync 出凭证 frameworkVersion=0.22.0。\n\n立项书补两节:§5.2 执行记录(含同步过程中撞到的三件事:git show 重定向会造\n空文件、并入上游 CHANGELOG 带来跨仓断链、治理测试锚定旧 pin),§5.3 三级验收\n结果,并记下两次教训——\n- 一次假阴性:首轮报 682/775 失败 5 条,读错误码才发现是环境缺 MAINLINE_CHAOS_\n CONTAINER,不是代码回归。验收红了先读错误码,别先怀疑代码\n- 一次自伤:git checkout -- runtime/reports 连带把真跑出的六份验收证据还原成\n 旧版,只能重跑找回;还原前须按 provenance.gitSha 分辨本轮产出与脏绑\n\n常驻问题 L9 / L12 两条降为 L9 一条(8 个上层应用仓的 compose 身份,待 N-11)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/9a959dc86d101a8abfcd42db52f679d5dbb8de8c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:40:49-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/docs/框架同步立项.md","平台治理/基础设施文档/开发计划.md"]},{"id":"48c5a9c821798dbd7b2aae8355a55aba95d68c20","message":"docs(框架): 提 FR-6——四级新鲜度须按「该级别是否已接线」断言\n\n框架 0.22.0 把 check:docs-truth 的证据新鲜度断言由两级扩到四级,新增的部署 /\n生产两级在本仓无法成立:其证据生产者依赖 apps/api-nestjs/Dockerfile,而那份\n里写着 COPY packages/kernel/package.json——本仓按 DEC-010 / DEC-031 的分发口径\n只 exact pin 已发布的 @juhai/kernel,仓内不存在 packages/kernel,2026-09-18\n实测该镜像构建必然失败。本仓自己的制品镜像是另一套架构(runtime/Dockerfile,\nD-1),并存会变成两条镜像路径。\n\n结果是这道门禁在本仓只能恒红,而恒红门禁不携带信息——正是框架自己在 0.22.0\n里要治的失效模式的反面。\n\n请求:四级断言按该级别是否已接线判定——对应 pnpm 脚本在 package.json 里存在\n则断言照旧,不存在则打印 SKIPPED 并跳过。不接受占位报告,与 doctrine「诚实的\n空,不得用占位报告转绿」一致;接线了却让报告陈旧的仓仍照旧判红,门禁的牙一\n颗不少。\n\n临时处置已在本仓 runtime/scripts/check-docs-truth.mjs 落地,改动处带注释指向\n本 FR,框架受理后删除该段回到框架原文(同 FR-4 / FR-5 的先例)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/48c5a9c821798dbd7b2aae8355a55aba95d68c20","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T21:53:48-07:00","added":[],"removed":[],"modified":["工程基础框架/基础设施仓框架变更请求-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"9a959dc86d101a8abfcd42db52f679d5dbb8de8c","message":"docs(计划): 框架同步 0.16.1 → 0.22.0 完成,一致性门禁 L12 清零\n\n七批里 F-2a / F-2b / F-3 / F-4 / F-7 完成,F-1 证伪取消,F-5 撤回并提 FR-6,\nF-6 并入。真源仓 a63414a。\n\n验收(clean 765300b,与升级前逐项持平):runtime 775/775 且租户 RLS enforce、\nUI 5/5、主线四套件 11/17/19/18、恢复演练 passed、端口一致性 41/41,\ncheck:evidence passed 35 份全新鲜 / 0 过期 / 0 例外。\nmigration:record --mode sync 出凭证 frameworkVersion=0.22.0。\n\n立项书补两节:§5.2 执行记录(含同步过程中撞到的三件事:git show 重定向会造\n空文件、并入上游 CHANGELOG 带来跨仓断链、治理测试锚定旧 pin),§5.3 三级验收\n结果,并记下两次教训——\n- 一次假阴性:首轮报 682/775 失败 5 条,读错误码才发现是环境缺 MAINLINE_CHAOS_\n CONTAINER,不是代码回归。验收红了先读错误码,别先怀疑代码\n- 一次自伤:git checkout -- runtime/reports 连带把真跑出的六份验收证据还原成\n 旧版,只能重跑找回;还原前须按 provenance.gitSha 分辨本轮产出与脏绑\n\n常驻问题 L9 / L12 两条降为 L9 一条(8 个上层应用仓的 compose 身份,待 N-11)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/9a959dc86d101a8abfcd42db52f679d5dbb8de8c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:40:49-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/docs/框架同步立项.md","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9231,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T12:01:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789710057
|
1789710073
|
0
|
1789710053
|
1789710073
|
|
|
0
|
Edit
Delete
|
|
24080
|
chore(reports): F-7 收口——框架迁移凭证 frameworkVersion 0. chore(reports): F-7 收口——框架迁移凭证 frameworkVersion 0.22.0...
|
116
|
5
|
platform.yml
|
110
|
5
|
0
|
refs/heads/main
|
a63414ab085268e9570c6f51816a92718f2effeb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d24b762cd6740f0bce850ae3fffcc84e8a279c28","after":"a63414ab085268e9570c6f51816a92718f2effeb","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/d24b762cd6740f0bce850ae3fffcc84e8a279c28...a63414ab085268e9570c6f51816a92718f2effeb","commits":[{"id":"a63414ab085268e9570c6f51816a92718f2effeb","message":"chore(reports): F-7 收口——框架迁移凭证 frameworkVersion 0.22.0\n\npnpm migration:record --mode sync:source=base-framework 0.22.0 @ df53867 →\ntarget=enterprise-platform 0.22.0,runId cb50e485。\n\n**一致性门禁 L12 清零**(内核 pin 落后六个 minor 的常驻问题)。常驻问题由\nL9 / L12 两条降为 L9 一条——后者是 8 个上层应用仓的 compose 身份,待 N-11\n裁决扩散路径,与本仓无关。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a63414ab085268e9570c6f51816a92718f2effeb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:39:42-07:00","added":[],"removed":[],"modified":["runtime/reports/framework-migration.latest.json"]}],"total_commits":0,"head_commit":{"id":"a63414ab085268e9570c6f51816a92718f2effeb","message":"chore(reports): F-7 收口——框架迁移凭证 frameworkVersion 0.22.0\n\npnpm migration:record --mode sync:source=base-framework 0.22.0 @ df53867 →\ntarget=enterprise-platform 0.22.0,runId cb50e485。\n\n**一致性门禁 L12 清零**(内核 pin 落后六个 minor 的常驻问题)。常驻问题由\nL9 / L12 两条降为 L9 一条——后者是 8 个上层应用仓的 compose 身份,待 N-11\n裁决扩散路径,与本仓无关。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a63414ab085268e9570c6f51816a92718f2effeb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:39:42-07:00","added":[],"removed":[],"modified":["runtime/reports/framework-migration.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":18024,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T13:39:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
34
|
1789709992
|
1789710030
|
0
|
1789709986
|
1789710090
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24079
|
chore(reports): 框架同步 0.16.1 → 0.22.0 后全套验收回绑 @ 765 chore(reports): 框架同步 0.16.1 → 0.22.0 后全套验收回绑 @ 765300b...
|
116
|
5
|
platform.yml
|
109
|
5
|
0
|
refs/heads/main
|
d24b762cd6740f0bce850ae3fffcc84e8a279c28
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"96bfdde508464b4b0e1e3fb05f77a9f488492fc0","after":"d24b762cd6740f0bce850ae3fffcc84e8a279c28","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/96bfdde508464b4b0e1e3fb05f77a9f488492fc0...d24b762cd6740f0bce850ae3fffcc84e8a279c28","commits":[{"id":"d24b762cd6740f0bce850ae3fffcc84e8a279c28","message":"chore(reports): 框架同步 0.16.1 → 0.22.0 后全套验收回绑 @ 765300b\n\n三级验收全部在干净树重跑,与升级前逐项持平:\n\n- runtime-acceptance **775 / 775 passed**,租户 RLS enforce(地板 775 未降)\n- ui-acceptance 5 / 5,1 组合\n- mainline-acceptance 四套件 11 / 17 / 19 / 18\n- mainline-restore passed,port-conformance 41 / 41\n- revocation-sla partial(invalidationPush 仍是 harness 传输,生产未接线)\n- release-manifest / sbom / identity-ui 随后重跑\n\ncheck:evidence **passed:35 份全新鲜 / 0 过期 / 0 例外**。\n\n过程中一处自伤已修复:曾用 git checkout -- runtime/reports 还原「跑门禁弄脏\n的报告」,连带把真跑出的六份验收证据还原成旧版,已在干净树重跑全套找回。\n教训:还原前必须按 provenance.gitSha 分辨本轮产出与脏绑,不可整目录 checkout。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d24b762cd6740f0bce850ae3fffcc84e8a279c28","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:38:56-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/identity-ui.latest.json","reports/mainline-acceptance.latest.json","reports/mainline-restore.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/port-conformance.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/ui-acceptance.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"d66f63659bc07fa65ac84685335a0f3c5e15af5d","message":"docs(runtime): 动态区 SHA 回灌至 765300b(重跑后的验收绑定)\n\n上一轮误用 git checkout -- runtime/reports 把真跑出的六份验收报告还原成了\n旧版,已在干净树重跑全套(runtime 775/775、UI 5/5、主线 11/17/19/18、恢复\n演练、端口一致性 41/41),六份统一绑 765300b / dirty=false。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d66f63659bc07fa65ac84685335a0f3c5e15af5d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:36:52-07:00","added":[],"removed":[],"modified":["runtime/CLAUDE.md"]},{"id":"765300b962ca658d112ac6064f925d82d0579dfd","message":"docs(runtime): 动态区回灌框架同步后的三级验收 @ 56e78df\n\ncheck:docs-truth 再次拦下「报告已刷新而动态区未跟上」。\n\n- 真实 DB:775 tests / 0 failures clean 56e78df——框架同步 0.16.1 → 0.22.0 后\n 首跑,测试数与升级前持平、租户 RLS 仍 enforce\n- 浏览器:5 用例 / 1 组合 clean 56e78df\n- 环境如实记:隔离栈 enterprise-platform-ms23-ci(PG :55485 / Redis :56395 /\n Redpanda :59105)+ 验收库 enterprise_platform_acceptance_fwsync\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/765300b962ca658d112ac6064f925d82d0579dfd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:29:47-07:00","added":[],"removed":[],"modified":["runtime/CLAUDE.md"]},{"id":"56e78dfa4fb1001fad92e6d93b0e3bb2f7569594","message":"fix(runtime): 修正 CHANGELOG 并入六段后的跨仓断链(一致性门禁 L4)\n\n框架 CHANGELOG 0.17.0—0.22.0 六段里的 ../\u003c框架变更请求\u003e.md 指的是框架仓同级,\n并入本仓后全部失效,L4 报 5 条。改为 ../../../工程基础框架/\u003c文件\u003e 跨仓路径。\n\n这是框架同步的真实副作用:并入上游文档时,其相对链接的锚点也跟着换了仓。\nL4 / L10 / L13 恢复 CLEAN。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/56e78dfa4fb1001fad92e6d93b0e3bb2f7569594","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T21:38:33-07:00","added":[],"removed":[],"modified":["runtime/CHANGELOG.md"]},{"id":"b30ddd94965db4c6686a249d280ce579a879fc65","message":"feat(runtime): 框架同步 0.16.1 → 0.22.0 主体(F-2b / F-3 / F-4)\n\nC-14 的实际形态。本轮把版本轴与两后端行为接线一次做完,部署两级按目录负责人\n裁决走「改判据 + 提 FR-6」。\n\nF-3 版本轴\n- 12 处 @juhai/kernel pin、runtime/package.json.version、packages/contracts\n version 全部 0.16.1 → 0.22.0;**F11 转绿**(这是抬 pin 一直卡住的门禁)\n- CHANGELOG 并入框架 0.17.0—0.22.0 六段,版本序连续;COMPATIBILITY.md 取 0.22.0\n\nF-4 两后端接线(C34 / C35 / C39 绊网全绿)\n- 直取六个未改过的文件:health.controller / health.module / health-checks.registry\n / request-log.middleware / logger / routes/health,另 types.ts、四个 C39 文件\n- 两处真三方合并:\n · api-fastify/src/app.ts:取 0.22.0 后按 sample-domain 标记剥离三个示例域块\n (本仓以 --strip-sample 建仓,本仓对该文件的唯一定制就是这三处剥离)\n · api-nestjs/src/create-app.ts:两侧改动不重叠——本仓加平台模块装载、框架加\n 访问日志中间件,合并保留两者\n\nF-2b 门禁脚本\n- check-dual-backend-parity / check-docs-truth / check-runtime-acceptance 取 0.22.0\n\ndocs-truth 四级新鲜度的本地修正(已提 FR-6)\n框架 0.22.0 把新鲜度断言由两级扩到四级,新增的部署 / 生产两级在本仓无法成立:\n其验收链要求 apps/api-nestjs/Dockerfile,而那份里写着 COPY packages/kernel/\npackage.json——本仓**不 vendor 内核**(pin 已发布包,packages/kernel 不存在),\n实测构建必然失败。本仓自己的制品镜像是 D-1 的 runtime/Dockerfile,与框架那套\n并存会变成两条镜像路径。判据改为「只对本仓真正接线了的级别断言」,未接线的\n打印 SKIPPED 而非伪装通过——不接受占位报告,与框架 doctrine「诚实的空」一致。\n已撤回全部 F-5 部署物与失败留下的半截报告。\n\n治理测试锚点 0.16.1 → 0.22.0。\n\n验收:turbo build 17/17、typecheck 31/31、runtime check 全链通过(两级 SKIPPED\n如实打印)、governance 测试 277/277。**真实三级验收随后在 clean 树重跑并回绑**\n——check:evidence 已如实报出 20 份证据的输入被本轮改动,不得只回绑静态报告。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b30ddd94965db4c6686a249d280ce579a879fc65","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T21:23:29-07:00","added":["runtime/apps/api-nestjs/src/common/request-log.middleware.ts","runtime/apps/api-nestjs/src/health/health-checks.registry.ts"],"removed":[],"modified":["governance/test/release-manifest.test.mjs","runtime/CHANGELOG.md","runtime/COMPATIBILITY.md","runtime/apps/api-fastify/src/app.ts","runtime/apps/api-fastify/src/plugins/queue.ts","runtime/apps/api-fastify/src/plugins/redis.ts","runtime/apps/api-fastify/src/routes/health.ts","runtime/apps/api-fastify/src/types.ts","runtime/apps/api-nestjs/src/common/logger.ts","runtime/apps/api-nestjs/src/create-app.ts","runtime/apps/api-nestjs/src/health/health.controller.ts","runtime/apps/api-nestjs/src/health/health.module.ts","runtime/apps/api-nestjs/src/queue/jobs.processor.ts","runtime/apps/api-nestjs/src/redis/redis.module.ts","runtime/clients/fact/package.json","runtime/clients/identity/package.json","runtime/clients/permission/package.json","runtime/modules/ai-gateway/package.json","runtime/modules/audit/package.json","runtime/modules/credential/package.json","runtime/modules/fact/package.json","runtime/modules/kit/package.json","runtime/modules/permission/package.json","runtime/package.json","runtime/packages/contracts/package.json","runtime/pnpm-lock.yaml","runtime/scripts/check-docs-truth.mjs","runtime/scripts/check-dual-backend-parity.mjs","runtime/scripts/check-runtime-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"d24b762cd6740f0bce850ae3fffcc84e8a279c28","message":"chore(reports): 框架同步 0.16.1 → 0.22.0 后全套验收回绑 @ 765300b\n\n三级验收全部在干净树重跑,与升级前逐项持平:\n\n- runtime-acceptance **775 / 775 passed**,租户 RLS enforce(地板 775 未降)\n- ui-acceptance 5 / 5,1 组合\n- mainline-acceptance 四套件 11 / 17 / 19 / 18\n- mainline-restore passed,port-conformance 41 / 41\n- revocation-sla partial(invalidationPush 仍是 harness 传输,生产未接线)\n- release-manifest / sbom / identity-ui 随后重跑\n\ncheck:evidence **passed:35 份全新鲜 / 0 过期 / 0 例外**。\n\n过程中一处自伤已修复:曾用 git checkout -- runtime/reports 还原「跑门禁弄脏\n的报告」,连带把真跑出的六份验收证据还原成旧版,已在干净树重跑全套找回。\n教训:还原前必须按 provenance.gitSha 分辨本轮产出与脏绑,不可整目录 checkout。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d24b762cd6740f0bce850ae3fffcc84e8a279c28","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T22:38:56-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/identity-ui.latest.json","reports/mainline-acceptance.latest.json","reports/mainline-restore.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/port-conformance.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/ui-acceptance.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17616,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T10:24:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789709942
|
1789709980
|
0
|
1789709941
|
1789710047
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24078
|
docs(计划): F-1 开工即证伪——「零判读快进」实收 0 个文件,本批取消
|
117
|
5
|
governance.yml
|
48
|
5
|
0
|
refs/heads/main
|
d70b1e5b6f3ed902a64adac86d0a4d953cadddb8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3cbdf7409759ef6652fe7811dee6e30fb84baaa5","after":"d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/3cbdf7409759ef6652fe7811dee6e30fb84baaa5...d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","commits":[{"id":"d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","message":"docs(计划): F-1 开工即证伪——「零判读快进」实收 0 个文件,本批取消\n\n按立项书从 F-1 起做,逐项审定 75 个候选(55 safe-copy + 20 个本仓从未改过的\n冲突文件)后实收 0 个,未改动仓内任何文件。\n\n拒收 44:\n- 30 个 packages/kernel/*:本仓不 vendor 内核源码,pin 的是已发布的\n @juhai/kernel;而 packages/* 在本仓 workspace 内,收进来会与 pin 直接冲突\n- 14 个示例 Order 域(orders.* / order.ts / orderMachine.ts / OrdersPanel.tsx):\n 本仓以 --strip-sample 建仓,实测 0 个同名文件,收回即让剥离回潮;仓内\n docs/strip-sample-domain.md 正是该机制的说明\n\n其余 31 个归位:F-2 门禁脚本 11、F-4 的 C34/C35/C39 接线面 12、F-5 部署物 4、\nF-3 COMPATIBILITY 1、F-6 文档 1,另 2 个保护路径延后判读。\n\n核心教训:migration:plan 的「safe-copy」标签指的是「目标没有这个文件」,不是\n「拿过来安全」。对一个 --strip-sample 且不 vendor 内核的派生仓,「目标没有」\n恰恰常常意味着「本仓刻意不要」。照单全收会同时干两件坏事:把剥离掉的示例域\n装回来、把 pin 的内核变成 vendor 的源码。\n\n立项书 §5.1 记下证伪与批次修正:不存在零判读快进层;余下六批内容不变,但每批\n开工须先逐文件审定,不得直接采信 migration:plan 的分类;F-2 成为实际起点。\n\n顺带修 L13:新增立项书使 平台治理/README.md 收纳表计数 157 → 158。\n全量一致性门禁回到 L9 / L12 两条常驻基线;测试 35/35。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T21:01:00-07:00","added":[],"removed":[],"modified":["平台治理/README.md","平台治理/基础设施文档/docs/框架同步立项.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","message":"docs(计划): F-1 开工即证伪——「零判读快进」实收 0 个文件,本批取消\n\n按立项书从 F-1 起做,逐项审定 75 个候选(55 safe-copy + 20 个本仓从未改过的\n冲突文件)后实收 0 个,未改动仓内任何文件。\n\n拒收 44:\n- 30 个 packages/kernel/*:本仓不 vendor 内核源码,pin 的是已发布的\n @juhai/kernel;而 packages/* 在本仓 workspace 内,收进来会与 pin 直接冲突\n- 14 个示例 Order 域(orders.* / order.ts / orderMachine.ts / OrdersPanel.tsx):\n 本仓以 --strip-sample 建仓,实测 0 个同名文件,收回即让剥离回潮;仓内\n docs/strip-sample-domain.md 正是该机制的说明\n\n其余 31 个归位:F-2 门禁脚本 11、F-4 的 C34/C35/C39 接线面 12、F-5 部署物 4、\nF-3 COMPATIBILITY 1、F-6 文档 1,另 2 个保护路径延后判读。\n\n核心教训:migration:plan 的「safe-copy」标签指的是「目标没有这个文件」,不是\n「拿过来安全」。对一个 --strip-sample 且不 vendor 内核的派生仓,「目标没有」\n恰恰常常意味着「本仓刻意不要」。照单全收会同时干两件坏事:把剥离掉的示例域\n装回来、把 pin 的内核变成 vendor 的源码。\n\n立项书 §5.1 记下证伪与批次修正:不存在零判读快进层;余下六批内容不变,但每批\n开工须先逐文件审定,不得直接采信 migration:plan 的分类;F-2 成为实际起点。\n\n顺带修 L13:新增立项书使 平台治理/README.md 收纳表计数 157 → 158。\n全量一致性门禁回到 L9 / L12 两条常驻基线;测试 35/35。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d70b1e5b6f3ed902a64adac86d0a4d953cadddb8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T21:01:00-07:00","added":[],"removed":[],"modified":["平台治理/README.md","平台治理/基础设施文档/docs/框架同步立项.md","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9186,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T11:57:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789704065
|
1789704081
|
0
|
1789704064
|
1789704081
|
|
|
0
|
Edit
Delete
|
|
24077
|
docs(计划): 框架同步 0.16.1 → 0.22.0 立项,分 F-1—F-7 七批
|
117
|
5
|
governance.yml
|
47
|
5
|
0
|
refs/heads/main
|
3cbdf7409759ef6652fe7811dee6e30fb84baaa5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bc014de63a169082ff81ff54e77012c5fda7e50f","after":"3cbdf7409759ef6652fe7811dee6e30fb84baaa5","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/bc014de63a169082ff81ff54e77012c5fda7e50f...3cbdf7409759ef6652fe7811dee6e30fb84baaa5","commits":[{"id":"3cbdf7409759ef6652fe7811dee6e30fb84baaa5","message":"docs(计划): 框架同步 0.16.1 → 0.22.0 立项,分 F-1—F-7 七批\n\n目录负责人指令:偏差 #35 选③「框架同步单独立项」。新增立项书\ndocs/框架同步立项.md,文件名刻意不带日期——否则会被一致性门禁的\nHISTORY_NAME_PATTERN 当历史快照而跳过 L3/L4/L10 扫描(教训出自\n开发计划梳理-2026-09-14 的同名坑)。\n\n立项前逐文件核实,三条比首轮更准的事实:\n\n1. 74 个冲突里 20 个本仓从未改过(仍逐字节等于框架 v0.16.1),可直接快进;\n 真需三方合并的是 53 个,另 1 个是两侧各自新增的 .dockerignore\n2. apps/api-nestjs 的 17 个真冲突里只有 1 个在 src/platform/——首轮按目录\n 粗计说「22 个正是平台装配点」不成立。平台自有的七模块 / clients /\n platform-tests 共 531 文件全在 target-only,框架同步根本不碰\n3. 两个前置都比裁决时乐观:C-13 的卷那一半已执行;F14 在本仓基本已合规\n (runtime 的 compose 已是 ${COMPOSE_PROJECT_NAME:-…} 形式,只剩\n stack/compose.yaml 改变量形式与 act-runner 补 name:)\n\n内核 API 不是风险源:六个 minor 只有 364 增 / 3 删,纯新增八个导出,唯一\n语义变更是 tenantIdFromClaims 改读序——本仓 FR-4 被受理,对 DEC-032 是白赚。\n风险全在框架源码的行为接线(C34 / C35 / C39 / F14)。\n\n七批各带机器退出条件,F-4 两后端接线标为高风险(唯一会动 platform-ports.module.ts\n的批次)。立项书显式禁止「只改 pin + 版本 + CHANGELOG 而不取框架源码」——\nF11 会过,但会伪造迁移凭证,与本仓当日清理的病同源。\n\n§3A 增领取行,§6 偏差 #35 结论改为已选③并立项,README 增索引。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/3cbdf7409759ef6652fe7811dee6e30fb84baaa5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:57:38-07:00","added":["平台治理/基础设施文档/docs/框架同步立项.md"],"removed":[],"modified":["平台治理/基础设施文档/README.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"3cbdf7409759ef6652fe7811dee6e30fb84baaa5","message":"docs(计划): 框架同步 0.16.1 → 0.22.0 立项,分 F-1—F-7 七批\n\n目录负责人指令:偏差 #35 选③「框架同步单独立项」。新增立项书\ndocs/框架同步立项.md,文件名刻意不带日期——否则会被一致性门禁的\nHISTORY_NAME_PATTERN 当历史快照而跳过 L3/L4/L10 扫描(教训出自\n开发计划梳理-2026-09-14 的同名坑)。\n\n立项前逐文件核实,三条比首轮更准的事实:\n\n1. 74 个冲突里 20 个本仓从未改过(仍逐字节等于框架 v0.16.1),可直接快进;\n 真需三方合并的是 53 个,另 1 个是两侧各自新增的 .dockerignore\n2. apps/api-nestjs 的 17 个真冲突里只有 1 个在 src/platform/——首轮按目录\n 粗计说「22 个正是平台装配点」不成立。平台自有的七模块 / clients /\n platform-tests 共 531 文件全在 target-only,框架同步根本不碰\n3. 两个前置都比裁决时乐观:C-13 的卷那一半已执行;F14 在本仓基本已合规\n (runtime 的 compose 已是 ${COMPOSE_PROJECT_NAME:-…} 形式,只剩\n stack/compose.yaml 改变量形式与 act-runner 补 name:)\n\n内核 API 不是风险源:六个 minor 只有 364 增 / 3 删,纯新增八个导出,唯一\n语义变更是 tenantIdFromClaims 改读序——本仓 FR-4 被受理,对 DEC-032 是白赚。\n风险全在框架源码的行为接线(C34 / C35 / C39 / F14)。\n\n七批各带机器退出条件,F-4 两后端接线标为高风险(唯一会动 platform-ports.module.ts\n的批次)。立项书显式禁止「只改 pin + 版本 + CHANGELOG 而不取框架源码」——\nF11 会过,但会伪造迁移凭证,与本仓当日清理的病同源。\n\n§3A 增领取行,§6 偏差 #35 结论改为已选③并立项,README 增索引。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/3cbdf7409759ef6652fe7811dee6e30fb84baaa5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:57:38-07:00","added":["平台治理/基础设施文档/docs/框架同步立项.md"],"removed":[],"modified":["平台治理/基础设施文档/README.md","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9137,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T11:54:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789703863
|
1789703878
|
0
|
1789703862
|
1789703878
|
|
|
0
|
Edit
Delete
|
|
24076
|
docs(计划): 登记偏差 #35——C-14「抬内核 pin」的实际范围是框架同步 74 冲突
|
117
|
5
|
governance.yml
|
46
|
5
|
0
|
refs/heads/main
|
bc014de63a169082ff81ff54e77012c5fda7e50f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b940277848578801e16f969b874470ff90adce7","after":"bc014de63a169082ff81ff54e77012c5fda7e50f","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/1b940277848578801e16f969b874470ff90adce7...bc014de63a169082ff81ff54e77012c5fda7e50f","commits":[{"id":"bc014de63a169082ff81ff54e77012c5fda7e50f","message":"docs(计划): 登记偏差 #35——C-14「抬内核 pin」的实际范围是框架同步 74 冲突\n\n按目录负责人指令动工后实测:裁决文本说的是抬 pin,机制成本是一次完整框架\n同步。已完整撤回,未提交任何 pin 改动、未做框架合并。\n\n做到哪一步:12 处 pin 全改 0.22.0,pnpm install 成功、锁文件更新、\ncheck:pins 通过、构建 17/17、类型检查 31/31 全过。\n\n卡在哪:F11(check:fork-readiness)要求 @juhai/kernel pin 必须等于本仓\npackage.json.version——框架版本轴 = 内核版本轴;仓版本又被 check:docs-truth\n的 changelog-version-matches-package 绑到 runtime/CHANGELOG.md。\n\n真实范围(migration:plan,以框架仓为源,只读):冲突 74(apps/api-nestjs 22、\napps/api-fastify 14、apps/web 8,另含 check-dual-backend-parity.mjs、\ncheck-docs-truth.mjs、CLAUDE.md、package.json、pnpm-lock.yaml)、safe-copy 55、\nmerge-sensitive 12。六版累加含 F14 compose 身份、C34 健康经内核聚合、C35 统一\n访问日志与 req 序列化变更、新增 Dockerfile 与生产编排、三个门禁脚本迁入。\napi-nestjs 那 22 个正是平台装配点(端口合成 / HTTP 适配 / 运维命令 API)。\n\n反向的好消息:内核包本身六个 minor 只有 364 增 / 3 删,纯新增八个导出,且\ntenantIdFromClaims 改为 tenant_id → tenantId → tid 读序——本仓 FR-4 已被框架\n受理,对 DEC-032 canonical 租户是白赚。风险全在框架源码同步,不在内核 API。\n\n给三个处置选项待裁,并写明不可接受的第四条:只改 pin + 仓版本 + 补 CHANGELOG\n而不取框架源码——F11 会过,但仓就在声称自己是 0.22.0 却没有 0.22.0 的门禁与\n中间件,迁移凭证会记下一个假事实。\n\n门禁消费登记同步:L12 的接入条件应读作「待框架同步立项并完成」,不是「待抬\n一次 pin」。check:gates 通过,相关测试 46/46。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/bc014de63a169082ff81ff54e77012c5fda7e50f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:54:37-07:00","added":[],"removed":[],"modified":["平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"bc014de63a169082ff81ff54e77012c5fda7e50f","message":"docs(计划): 登记偏差 #35——C-14「抬内核 pin」的实际范围是框架同步 74 冲突\n\n按目录负责人指令动工后实测:裁决文本说的是抬 pin,机制成本是一次完整框架\n同步。已完整撤回,未提交任何 pin 改动、未做框架合并。\n\n做到哪一步:12 处 pin 全改 0.22.0,pnpm install 成功、锁文件更新、\ncheck:pins 通过、构建 17/17、类型检查 31/31 全过。\n\n卡在哪:F11(check:fork-readiness)要求 @juhai/kernel pin 必须等于本仓\npackage.json.version——框架版本轴 = 内核版本轴;仓版本又被 check:docs-truth\n的 changelog-version-matches-package 绑到 runtime/CHANGELOG.md。\n\n真实范围(migration:plan,以框架仓为源,只读):冲突 74(apps/api-nestjs 22、\napps/api-fastify 14、apps/web 8,另含 check-dual-backend-parity.mjs、\ncheck-docs-truth.mjs、CLAUDE.md、package.json、pnpm-lock.yaml)、safe-copy 55、\nmerge-sensitive 12。六版累加含 F14 compose 身份、C34 健康经内核聚合、C35 统一\n访问日志与 req 序列化变更、新增 Dockerfile 与生产编排、三个门禁脚本迁入。\napi-nestjs 那 22 个正是平台装配点(端口合成 / HTTP 适配 / 运维命令 API)。\n\n反向的好消息:内核包本身六个 minor 只有 364 增 / 3 删,纯新增八个导出,且\ntenantIdFromClaims 改为 tenant_id → tenantId → tid 读序——本仓 FR-4 已被框架\n受理,对 DEC-032 canonical 租户是白赚。风险全在框架源码同步,不在内核 API。\n\n给三个处置选项待裁,并写明不可接受的第四条:只改 pin + 仓版本 + 补 CHANGELOG\n而不取框架源码——F11 会过,但仓就在声称自己是 0.22.0 却没有 0.22.0 的门禁与\n中间件,迁移凭证会记下一个假事实。\n\n门禁消费登记同步:L12 的接入条件应读作「待框架同步立项并完成」,不是「待抬\n一次 pin」。check:gates 通过,相关测试 46/46。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/bc014de63a169082ff81ff54e77012c5fda7e50f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:54:37-07:00","added":[],"removed":[],"modified":["平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9094,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T11:13:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789703683
|
1789703699
|
0
|
1789703681
|
1789703699
|
|
|
0
|
Edit
Delete
|
|
24075
|
docs(治理): C-13 卷归属执行记录——备份 + 删卷已做,compose 半边未做
|
117
|
5
|
governance.yml
|
45
|
5
|
0
|
refs/heads/main
|
1b940277848578801e16f969b874470ff90adce7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ae6cf47e538de724c00c270f78ad014669585c8d","after":"1b940277848578801e16f969b874470ff90adce7","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/ae6cf47e538de724c00c270f78ad014669585c8d...1b940277848578801e16f969b874470ff90adce7","commits":[{"id":"1b940277848578801e16f969b874470ff90adce7","message":"docs(治理): C-13 卷归属执行记录——备份 + 删卷已做,compose 半边未做\n\n决策批次 C-13 的附条件是「删卷前 dump 必须复验」,按字面执行:\n\n备份(/Users/hillao/AI产品/仓备份-2026-09-16/碰撞卷-C13/,24 MB)\n- 五个碰撞卷文件级 tar + 两个 PG 簇的 pg_dumpall,附 SHA256SUMS 与 README\n- 原卷全程 :ro,快照解到临时副本卷后在副本上起 PG 导出——在原卷上起 PG 会\n 触发 WAL 与恢复写入,而删不删当时尚未决定,不能先把它改了\n\n复验(不是「文件存在」)\n- 逻辑备份灌入全新空实例:4 库表数逐库一致,74 张表逐表 count(*) 零差异\n\n删除(核实确属历史遗留后)\n- 六个容器的工作目录全部指向迁移前旧布局,三条路径均已不存在,创建于\n 08-28—09-05;顺带清除一个漏网的同工程容器 api-nestjs-minio-init-1\n- 五卷 + 六容器清零,dev 常驻栈 13 容器未动、健康探针 200\n\n实测更正:api-nestjs_pgdata 占 47.8 MB 却是空簇(唯一库 0 张表),有数据的\n只有 enterprise-idp_pgdata(4 库 / 74 表 / ≈2088 行)。\n\n未做的半边:8 个上层应用仓的 compose 补顶层 name:,跨仓且待 N-11 裁决。\n因此 L9 仍报 1 条(它查 compose 声明,不是卷是否存在),C-14 抬内核 pin 的\n前置只部分满足——这一条同时写进了门禁消费登记,免得下次误读为「C-13 已完成」。\n\ncheck:gates 通过;gate-consumption 与 workspace-consistency 测试 46/46。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1b940277848578801e16f969b874470ff90adce7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:13:04-07:00","added":[],"removed":[],"modified":["平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"1b940277848578801e16f969b874470ff90adce7","message":"docs(治理): C-13 卷归属执行记录——备份 + 删卷已做,compose 半边未做\n\n决策批次 C-13 的附条件是「删卷前 dump 必须复验」,按字面执行:\n\n备份(/Users/hillao/AI产品/仓备份-2026-09-16/碰撞卷-C13/,24 MB)\n- 五个碰撞卷文件级 tar + 两个 PG 簇的 pg_dumpall,附 SHA256SUMS 与 README\n- 原卷全程 :ro,快照解到临时副本卷后在副本上起 PG 导出——在原卷上起 PG 会\n 触发 WAL 与恢复写入,而删不删当时尚未决定,不能先把它改了\n\n复验(不是「文件存在」)\n- 逻辑备份灌入全新空实例:4 库表数逐库一致,74 张表逐表 count(*) 零差异\n\n删除(核实确属历史遗留后)\n- 六个容器的工作目录全部指向迁移前旧布局,三条路径均已不存在,创建于\n 08-28—09-05;顺带清除一个漏网的同工程容器 api-nestjs-minio-init-1\n- 五卷 + 六容器清零,dev 常驻栈 13 容器未动、健康探针 200\n\n实测更正:api-nestjs_pgdata 占 47.8 MB 却是空簇(唯一库 0 张表),有数据的\n只有 enterprise-idp_pgdata(4 库 / 74 表 / ≈2088 行)。\n\n未做的半边:8 个上层应用仓的 compose 补顶层 name:,跨仓且待 N-11 裁决。\n因此 L9 仍报 1 条(它查 compose 声明,不是卷是否存在),C-14 抬内核 pin 的\n前置只部分满足——这一条同时写进了门禁消费登记,免得下次误读为「C-13 已完成」。\n\ncheck:gates 通过;gate-consumption 与 workspace-consistency 测试 46/46。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1b940277848578801e16f969b874470ff90adce7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T20:13:04-07:00","added":[],"removed":[],"modified":["平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9054,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T10:24:46+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789701195
|
1789701211
|
0
|
1789701193
|
1789701211
|
|
|
0
|
Edit
Delete
|
|
24074
|
docs(计划): mainline-dev-deployment 退役,四份手工记录清零(真源仓 docs(计划): mainline-dev-deployment 退役,四份手工记录清零(真源仓 903f019)...
|
117
|
5
|
governance.yml
|
44
|
5
|
0
|
refs/heads/main
|
ae6cf47e538de724c00c270f78ad014669585c8d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e81617fb827a3db190701bc33bca21cc14ce20c8","after":"ae6cf47e538de724c00c270f78ad014669585c8d","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/e81617fb827a3db190701bc33bca21cc14ce20c8...ae6cf47e538de724c00c270f78ad014669585c8d","commits":[{"id":"ae6cf47e538de724c00c270f78ad014669585c8d","message":"docs(计划): mainline-dev-deployment 退役,四份手工记录清零(真源仓 903f019)\n\n结论由 compose 的 redpanda 启用状态、四份更新的 runtime-up 记录与\ncheck:deployed 覆盖,三者都会自动保鲜;dev 栈此后已重建多轮,09-12 的\n快照早已不是当前事实。\n\n§1 证据行补第三步;§8 增一行。未登记 16 → 13。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ae6cf47e538de724c00c270f78ad014669585c8d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:24:42-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"ae6cf47e538de724c00c270f78ad014669585c8d","message":"docs(计划): mainline-dev-deployment 退役,四份手工记录清零(真源仓 903f019)\n\n结论由 compose 的 redpanda 启用状态、四份更新的 runtime-up 记录与\ncheck:deployed 覆盖,三者都会自动保鲜;dev 栈此后已重建多轮,09-12 的\n快照早已不是当前事实。\n\n§1 证据行补第三步;§8 增一行。未登记 16 → 13。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ae6cf47e538de724c00c270f78ad014669585c8d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:24:42-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9023,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T10:21:56+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789698302
|
1789698356
|
0
|
1789698286
|
1789698356
|
|
|
0
|
Edit
Delete
|
|
24073
|
chore(reports): 回绑 @ 903f019
|
116
|
5
|
platform.yml
|
108
|
5
|
0
|
refs/heads/main
|
96bfdde508464b4b0e1e3fb05f77a9f488492fc0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"314c179366fb02a53485f4efbd0e3d3e88cd5470","after":"96bfdde508464b4b0e1e3fb05f77a9f488492fc0","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/314c179366fb02a53485f4efbd0e3d3e88cd5470...96bfdde508464b4b0e1e3fb05f77a9f488492fc0","commits":[{"id":"96bfdde508464b4b0e1e3fb05f77a9f488492fc0","message":"chore(reports): 回绑 @ 903f019\n\ncheck:evidence passed:35 份已登记全部新鲜,0 过期 / 0 例外 / 0 告警;\n未登记 13 份(四份手工记录退役后的稳定态)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/96bfdde508464b4b0e1e3fb05f77a9f488492fc0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:23:58-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"903f019dc8033d3042cc0446e054e2665782fedc","message":"chore(governance): 退役 mainline-dev-deployment,四份手工记录清零\n\n目录负责人裁决:与今日退役的另三份同类处置。\n\n它只记 09-12 在 dev 栈启用 Redpanda 这一件事(自述 scope「Redpanda only」),\n仓内无生成脚本、不可重跑。该结论现由三处覆盖且都会自动保鲜:\n\n- stack/compose.yaml 的 redpanda 已是启用状态(非候选注释块),MS-2 的机器\n 判定直接读它\n- stack/reports/runtime-up.*.json:四份更新的 dev 运行记录(09-14 / 09-16 ×3)\n- pnpm check:deployed:活体核验运行镜像与源提交\n\ndev 栈此后已重建多轮,09-12 那份快照描述的容器与端点早已不是当前事实。\n\nevidence-scopes note 补记本次裁决(它本就未登记,无条目可撤);\n09-12 的执行记录里那处纯文本引用补一句退役说明——L4 不报(不是 markdown\n链接),但读者会去找一个不存在的文件。\n\n至此四份无生成脚本的手工记录全部退役:identity-http、\nmainline-candidate-regression、stack-image-pins、mainline-dev-deployment。\n\ncheck:evidence passed:35 份已登记全部新鲜,未登记 14 → 13。\ngovernance 测试 277/277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/903f019dc8033d3042cc0446e054e2665782fedc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:23:31-07:00","added":[],"removed":["reports/mainline-dev-deployment.latest.json"],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","governance/evidence-scopes.json"]}],"total_commits":0,"head_commit":{"id":"96bfdde508464b4b0e1e3fb05f77a9f488492fc0","message":"chore(reports): 回绑 @ 903f019\n\ncheck:evidence passed:35 份已登记全部新鲜,0 过期 / 0 例外 / 0 告警;\n未登记 13 份(四份手工记录退役后的稳定态)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/96bfdde508464b4b0e1e3fb05f77a9f488492fc0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:23:58-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17567,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T10:21:05+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
34
|
1789698260
|
1789698302
|
0
|
1789698242
|
1789698427
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24072
|
docs(计划): MS-4 判据输入纳入新鲜度监控;Manifest 缺项 4 → 6(真源仓 3 docs(计划): MS-4 判据输入纳入新鲜度监控;Manifest 缺项 4 → 6(真源仓 314c179)...
|
117
|
5
|
governance.yml
|
43
|
5
|
0
|
refs/heads/main
|
e81617fb827a3db190701bc33bca21cc14ce20c8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a03bc2d7789a81e0da6b79e51f2abb32fff2b906","after":"e81617fb827a3db190701bc33bca21cc14ce20c8","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/a03bc2d7789a81e0da6b79e51f2abb32fff2b906...e81617fb827a3db190701bc33bca21cc14ce20c8","commits":[{"id":"e81617fb827a3db190701bc33bca21cc14ce20c8","message":"docs(计划): MS-4 判据输入纳入新鲜度监控;Manifest 缺项 4 → 6(真源仓 314c179)\n\nrelease-manifest / sbom / image-smoke / mainline-dev-deployment 此前被归为\n「没有 provenance.gitSha」,实为写了源 SHA 但平铺在顶层,check:evidence 只认\n嵌套形状。实锤危害:Manifest 绑 ac3683d 四天,其后结论输入改了 10 个文件,\n刷新后缺项 4 → 6,多出的 images.stack.* 未锁与 SBOM 不满足 D-2 两条都是真的\n——而 MS-4 的退出条件正是读这份 Manifest。\n\n§1 Release Manifest 行按刷新后的六项缺项重采;§1 证据行改为 35 份全新鲜;\n§8 增一行,含未做项与理由(image-smoke 待下次真实运行、mainline-dev-deployment\n无生成脚本属手工记录)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/e81617fb827a3db190701bc33bca21cc14ce20c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:21:54-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"e81617fb827a3db190701bc33bca21cc14ce20c8","message":"docs(计划): MS-4 判据输入纳入新鲜度监控;Manifest 缺项 4 → 6(真源仓 314c179)\n\nrelease-manifest / sbom / image-smoke / mainline-dev-deployment 此前被归为\n「没有 provenance.gitSha」,实为写了源 SHA 但平铺在顶层,check:evidence 只认\n嵌套形状。实锤危害:Manifest 绑 ac3683d 四天,其后结论输入改了 10 个文件,\n刷新后缺项 4 → 6,多出的 images.stack.* 未锁与 SBOM 不满足 D-2 两条都是真的\n——而 MS-4 的退出条件正是读这份 Manifest。\n\n§1 Release Manifest 行按刷新后的六项缺项重采;§1 证据行改为 35 份全新鲜;\n§8 增一行,含未做项与理由(image-smoke 待下次真实运行、mainline-dev-deployment\n无生成脚本属手工记录)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/e81617fb827a3db190701bc33bca21cc14ce20c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:21:54-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8993,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T10:01:45+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789698188
|
1789698218
|
0
|
1789698116
|
1789698218
|
|
|
0
|
Edit
Delete
|
|
24071
|
chore(reports): 回绑 @ 71b306f,登记面 33 → 35 全新鲜
|
116
|
5
|
platform.yml
|
107
|
5
|
0
|
refs/heads/main
|
314c179366fb02a53485f4efbd0e3d3e88cd5470
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2dfbcb9148a7beabb926462eebb82645e548c10a","after":"314c179366fb02a53485f4efbd0e3d3e88cd5470","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/2dfbcb9148a7beabb926462eebb82645e548c10a...314c179366fb02a53485f4efbd0e3d3e88cd5470","commits":[{"id":"314c179366fb02a53485f4efbd0e3d3e88cd5470","message":"chore(reports): 回绑 @ 71b306f,登记面 33 → 35 全新鲜\n\nrelease-manifest 与 sbom 首次带嵌套 provenance 并受新鲜度保护。\n\nManifest 刷新后缺项 4 → 6,多出的两条都是真的、被旧快照藏了四天:\n- images.stack.*:compose 启用 runtime 服务后镜像是变量 ${PLATFORM_RUNTIME_IMAGE:?},\n 未按 digest 锁定(PF-05 / PF-23 晋级前解决)\n- sbom:局部 lockfile 清单(268 包,仅 Node 依赖,不含基础镜像 Debian 包)\n 不满足 D-2 的完整 SBOM 要求\n\ncheck:evidence passed:35 份已登记全部新鲜,0 过期 / 0 例外 / 0 告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/314c179366fb02a53485f4efbd0e3d3e88cd5470","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:21:00-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-manifest.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"71b306f53390e6119590b5225b660cd4effcd3b5","message":"chore(governance): 登记 release-manifest 与 sbom 进 evidence-scopes(35 条)\n\n承 c5d9897。三份补了嵌套 provenance 之后,其中两份现在就能登记:\n\n- release-manifest(warn):作用域 = compose、image-digest.json、四类包的\n package.json、runtime/modules、生成器与 schema。**这是 MS-4 退出条件的判据\n 输入**,此前无人监控其新鲜度\n- sbom(warn):作用域 = image-digest.json、生成器、runtime 锁文件\n\nimage-smoke 本轮不登记:生成器已修,但要补上形状得起真实容器重跑(脚本强制\n--env-file,需 DB/Redis),不值得为补一个形状去起一套底座——待其下一次真实\n运行后登记。note 里写明了这一条与 mainline-dev-deployment 的区别(后者没有\n生成脚本,属手工记录那一类,不是形状问题)。\n\n同时修正 note 里 ① 类的描述:原写「没有 provenance.gitSha,要先让产生脚本写\nprovenance」,对这四份是不准确的——数据早就有。\n\ngovernance 测试 277/277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/71b306f53390e6119590b5225b660cd4effcd3b5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:20:23-07:00","added":[],"removed":[],"modified":["governance/evidence-scopes.json"]},{"id":"c5d98975f8c466d035550a4f38899db325d8b806","message":"feat(governance): 三份报告补嵌套 provenance,让 MS-4 判据输入受新鲜度保护\n\n2026-09-17 目录负责人裁决:补嵌套 provenance,四份有 SHA 的全做。\n\n问题:release-manifest / sbom / image-smoke / mainline-dev-deployment 都写了\n源 SHA,但是**平铺**在顶层(sourceSha),而 check:evidence 只认嵌套的\nprovenance.gitSha。于是它们登记不进 evidence-scopes,游离在新鲜度之外。\n此前 evidence-scopes 的口径说明把它们归为「没有 provenance.gitSha,要先让\n产生脚本写 provenance」——对其中四份是不准确的:数据早就有,缺的是形状。\n\n实锤这不是理论风险:Manifest 绑 ac3683d(2026-09-14),其后它的结论输入改了\n10 个文件(contracts/governance 的 package.json、image-digest.json、\ncompose.yaml、client-fact 全套),四天无人报警。重跑后缺项 4 → 6,多出的两条\n都是真的——compose 启用 runtime 服务后镜像是变量未按 digest 锁定;SBOM 未随\n19150ae 镜像重生成。**一份过期的 Manifest 一直在少报,而 MS-4 的退出条件正是\n读它**(status=complete 且 runner 为 CI)。\n\n改动:\n- stack/release-manifest.schema.json 增可选 provenance 对象(不进 required,\n 向后兼容;additionalProperties:false 故必须显式加),并写明与顶层三项同源\n- release-manifest.mjs 同时写 provenance 与顶层兼容字段,实测两者一致\n- sbom.mjs / smoke-image.mjs 增 provenance: gitProvenance(root)。注意它们原有的\n sourceSha 是**镜像的**源提交,与「本报告在哪个提交产出」不是一回事,两者都留\n\nmainline-dev-deployment 做不了:全仓搜索确认它没有生成脚本,是第四份手工记录\n(与今日退役的三份同类),不是形状问题。另行处置。\n\ngovernance 测试 277/277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/c5d98975f8c466d035550a4f38899db325d8b806","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:19:03-07:00","added":[],"removed":[],"modified":["governance/release-manifest.mjs","governance/sbom.mjs","governance/smoke-image.mjs","stack/release-manifest.schema.json"]}],"total_commits":0,"head_commit":{"id":"314c179366fb02a53485f4efbd0e3d3e88cd5470","message":"chore(reports): 回绑 @ 71b306f,登记面 33 → 35 全新鲜\n\nrelease-manifest 与 sbom 首次带嵌套 provenance 并受新鲜度保护。\n\nManifest 刷新后缺项 4 → 6,多出的两条都是真的、被旧快照藏了四天:\n- images.stack.*:compose 启用 runtime 服务后镜像是变量 ${PLATFORM_RUNTIME_IMAGE:?},\n 未按 digest 锁定(PF-05 / PF-23 晋级前解决)\n- sbom:局部 lockfile 清单(268 包,仅 Node 依赖,不含基础镜像 Debian 包)\n 不满足 D-2 的完整 SBOM 要求\n\ncheck:evidence passed:35 份已登记全部新鲜,0 过期 / 0 例外 / 0 告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/314c179366fb02a53485f4efbd0e3d3e88cd5470","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:21:00-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-manifest.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17470,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T10:00:56+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789698067
|
1789698187
|
0
|
1789698065
|
1789698258
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24070
|
docs(计划): stack-image-pins 退役,check:evidence 首次全绿( docs(计划): stack-image-pins 退役,check:evidence 首次全绿(真源仓 a9fd6e8)...
|
117
|
5
|
governance.yml
|
42
|
5
|
0
|
refs/heads/main
|
a03bc2d7789a81e0da6b79e51f2abb32fff2b906
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"150e625ed2a33300a3bc051fd4e60fa6e76a7947","after":"a03bc2d7789a81e0da6b79e51f2abb32fff2b906","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/150e625ed2a33300a3bc051fd4e60fa6e76a7947...a03bc2d7789a81e0da6b79e51f2abb32fff2b906","commits":[{"id":"a03bc2d7789a81e0da6b79e51f2abb32fff2b906","message":"docs(计划): stack-image-pins 退役,check:evidence 首次全绿(真源仓 a9fd6e8)\n\n第三份无生成脚本的手工记录按其例外自写的「倾向 ① 退役」执行。结论已由\nrelease-manifest 的 parseComposeImages 覆盖(同为 12 条 0 未锁,未锁进\nmissing,由真脚本产出自动保鲜)。evidence-scopes exceptions 自此为空。\n\n§1 证据行改为 passed(33 新鲜 / 0 过期 / 0 例外 / 0 告警);§8 增一行。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/a03bc2d7789a81e0da6b79e51f2abb32fff2b906","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:01:40-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"a03bc2d7789a81e0da6b79e51f2abb32fff2b906","message":"docs(计划): stack-image-pins 退役,check:evidence 首次全绿(真源仓 a9fd6e8)\n\n第三份无生成脚本的手工记录按其例外自写的「倾向 ① 退役」执行。结论已由\nrelease-manifest 的 parseComposeImages 覆盖(同为 12 条 0 未锁,未锁进\nmissing,由真脚本产出自动保鲜)。evidence-scopes exceptions 自此为空。\n\n§1 证据行改为 passed(33 新鲜 / 0 过期 / 0 例外 / 0 告警);§8 增一行。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/a03bc2d7789a81e0da6b79e51f2abb32fff2b906","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:01:40-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8963,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T09:58:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789696907
|
1789696923
|
0
|
1789696904
|
1789696923
|
|
|
0
|
Edit
Delete
|
|
24069
|
chore(reports): 回绑 @ a9fd6e8,check:evidence 全绿
|
116
|
5
|
platform.yml
|
106
|
5
|
0
|
refs/heads/main
|
2dfbcb9148a7beabb926462eebb82645e548c10a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","after":"2dfbcb9148a7beabb926462eebb82645e548c10a","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/e6d286b4f61d0227fa7f42cd0f5f40e624540dbf...2dfbcb9148a7beabb926462eebb82645e548c10a","commits":[{"id":"2dfbcb9148a7beabb926462eebb82645e548c10a","message":"chore(reports): 回绑 @ a9fd6e8,check:evidence 全绿\n\n33 份已登记全部新鲜,0 过期 / 0 未提交输入 / 0 例外 / 0 告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2dfbcb9148a7beabb926462eebb82645e548c10a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:00:52-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"a9fd6e826db77532ac3abfc149a9de822e40ea12","message":"chore(governance): 退役 stack-image-pins,check:evidence 首次转 passed\n\n目录负责人裁决:按该报告自己的例外里写的「倾向 ① 退役」执行。\n\n它与今日退役的另两份同类:仓内无生成脚本(2026-09-14 全仓搜索确认),是\n一次性手工产物,永远无法重跑,只能靠例外掩盖。其结论「compose 12 个镜像\n是否全按 digest 锁定」已由 governance/release-manifest.mjs 的\nparseComposeImages 完整覆盖——实测同为 12 条、0 未锁,且未锁时进 missing,\n由真脚本产出、自动保鲜,严格优于被退役的手工快照。\n\n- evidence-scopes:entries 34 → 33,exceptions 1 → 0(自此为空)\n- check-evidence-freshness 的成因注释保留 2026-09-14 那条实锤(它正是本门禁\n 存在的理由),但标注该报告已退役,免得后人去找一个不存在的文件\n\ncheck:evidence:**passed**,33 新鲜 / 0 过期 / 0 输入未提交 / 0 例外。\n这是它第一次不是 partial。governance 测试 277/277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a9fd6e826db77532ac3abfc149a9de822e40ea12","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:00:17-07:00","added":[],"removed":["reports/stack-image-pins.latest.json"],"modified":["governance/check-evidence-freshness.mjs","governance/evidence-scopes.json"]}],"total_commits":0,"head_commit":{"id":"2dfbcb9148a7beabb926462eebb82645e548c10a","message":"chore(reports): 回绑 @ a9fd6e8,check:evidence 全绿\n\n33 份已登记全部新鲜,0 过期 / 0 未提交输入 / 0 例外 / 0 告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2dfbcb9148a7beabb926462eebb82645e548c10a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T19:00:52-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17426,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T09:58:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789696856
|
1789696895
|
0
|
1789696856
|
1789696940
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24068
|
docs(计划): 真实环境八份证据重跑通过,证据零过期(真源仓 36e0423)
|
117
|
5
|
governance.yml
|
41
|
5
|
0
|
refs/heads/main
|
150e625ed2a33300a3bc051fd4e60fa6e76a7947
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"689e924f3db984f90ee13c2e0dd1a0082a70c1d3","after":"150e625ed2a33300a3bc051fd4e60fa6e76a7947","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/689e924f3db984f90ee13c2e0dd1a0082a70c1d3...150e625ed2a33300a3bc051fd4e60fa6e76a7947","commits":[{"id":"150e625ed2a33300a3bc051fd4e60fa6e76a7947","message":"docs(计划): 真实环境八份证据重跑通过,证据零过期(真源仓 36e0423)\n\n§1 证据新鲜度行与运行/UI 证据行按 2026-09-18 实测重采;§8 增一行。\n\n重跑:runtime-acceptance 775(地板 652 → 775)、ui-acceptance 5、\nmainline-acceptance 四套件 11/17/19/18、mainline-restore 3 库逐库 SHA-256\n一致、revocation-sla、identity-ui 2。退役(目录负责人裁决):identity-http\n与 mainline-candidate-regression,两者仓内无生成脚本、永远无法重跑,结论\n已由自动化门禁覆盖。\n\ncheck:evidence:33 新鲜 / 0 过期 / 0 告警 / 1 例外。\n\n如实保留:invalidationPush 仍是 measured-with-harness-transport,生产传输\n未接线,不构成 MS-3 达成证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/150e625ed2a33300a3bc051fd4e60fa6e76a7947","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:58:36-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"150e625ed2a33300a3bc051fd4e60fa6e76a7947","message":"docs(计划): 真实环境八份证据重跑通过,证据零过期(真源仓 36e0423)\n\n§1 证据新鲜度行与运行/UI 证据行按 2026-09-18 实测重采;§8 增一行。\n\n重跑:runtime-acceptance 775(地板 652 → 775)、ui-acceptance 5、\nmainline-acceptance 四套件 11/17/19/18、mainline-restore 3 库逐库 SHA-256\n一致、revocation-sla、identity-ui 2。退役(目录负责人裁决):identity-http\n与 mainline-candidate-regression,两者仓内无生成脚本、永远无法重跑,结论\n已由自动化门禁覆盖。\n\ncheck:evidence:33 新鲜 / 0 过期 / 0 告警 / 1 例外。\n\n如实保留:invalidationPush 仍是 measured-with-harness-transport,生产传输\n未接线,不构成 MS-3 达成证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/150e625ed2a33300a3bc051fd4e60fa6e76a7947","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:58:36-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8934,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T09:22:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789696836
|
1789696852
|
0
|
1789696719
|
1789696852
|
|
|
0
|
Edit
Delete
|
|
24067
|
docs: 修复退役报告导致的断链(一致性门禁 L4)
|
116
|
5
|
platform.yml
|
105
|
5
|
0
|
refs/heads/main
|
e6d286b4f61d0227fa7f42cd0f5f40e624540dbf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"36e0423efe0ddc105136d193bfb594efb9838d62","after":"e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/36e0423efe0ddc105136d193bfb594efb9838d62...e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","commits":[{"id":"e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","message":"docs: 修复退役报告导致的断链(一致性门禁 L4)\n\n09-12 的候选校验记录链向 reports/mainline-candidate-regression.latest.json,\n该报告已随 23281b8 退役,治理层一致性门禁 L4 随即报断链。改为文字说明:\n报告已退役、退役理由、结论现由 governance 测试产出(今 277/277),当时的\n154/0/1 保留为历史记录,不改写历史结论。\n\nL4 / L10 / L13 恢复 CLEAN。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:58:04-07:00","added":[],"removed":[],"modified":["docs/候选校验与恢复脚本修复记录-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","message":"docs: 修复退役报告导致的断链(一致性门禁 L4)\n\n09-12 的候选校验记录链向 reports/mainline-candidate-regression.latest.json,\n该报告已随 23281b8 退役,治理层一致性门禁 L4 随即报断链。改为文字说明:\n报告已退役、退役理由、结论现由 governance 测试产出(今 277/277),当时的\n154/0/1 保留为历史记录,不改写历史结论。\n\nL4 / L10 / L13 恢复 CLEAN。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e6d286b4f61d0227fa7f42cd0f5f40e624540dbf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:58:04-07:00","added":[],"removed":[],"modified":["docs/候选校验与恢复脚本修复记录-2026-09-12.md"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17420,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T09:56:55+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
26
|
1789696796
|
1789696836
|
0
|
1789696688
|
1789696855
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24066
|
chore(reports): 全链回绑 @ 1af0f22,证据零过期零告警
|
116
|
5
|
platform.yml
|
104
|
5
|
0
|
refs/heads/main
|
36e0423efe0ddc105136d193bfb594efb9838d62
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f9cb195319422eac06bd2111e1034e956ebcafb0","after":"36e0423efe0ddc105136d193bfb594efb9838d62","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/f9cb195319422eac06bd2111e1034e956ebcafb0...36e0423efe0ddc105136d193bfb594efb9838d62","commits":[{"id":"36e0423efe0ddc105136d193bfb594efb9838d62","message":"chore(reports): 全链回绑 @ 1af0f22,证据零过期零告警\n\n干净树重跑根 pnpm check。check:evidence:34 份已登记,**33 份新鲜 / 0 过期 /\n0 输入未提交 / 0 告警 / 1 例外**(stack-image-pins,其例外自带出口)。\n\n这是本轮治理完善的收口:从九份过期、error 级判定,到零过期零告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/36e0423efe0ddc105136d193bfb594efb9838d62","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:56:42-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"1af0f2210a8ac041a26a97ff5f4965461398ebf1","message":"feat(governance): 测试地板 652 → 775;动态区回灌今日三级验收\n\ncheck:docs-truth 抓出报告已刷新而动态区未跟上——正是今天修过的那类双真源\n漂移,这次由门禁自己拦住。\n\n- 动态区「真实 DB」:2026-09-13 / 7e26a50 / 652 → 2026-09-18 / 6108357 /\n 775,并写明隔离栈与「破坏性注入只认 ms23-ci 类专用工程」的边界\n- 动态区「浏览器」:2026-09-13 / 7e26a50 → 2026-09-18 / 003aadd,端口如实\n- 棘轮:testsPassed 652 → 775(本轮实测),ownTests 35 → 40、\n ownTestCases 185 → 212(静态 runner 自己抬的,它刻意不动其他 runner 的地板)\n\n棘轮只收紧不放宽:775 是今天真实跑出来的数,此后低于它即红。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/1af0f2210a8ac041a26a97ff5f4965461398ebf1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:56:07-07:00","added":[],"removed":[],"modified":["runtime/CLAUDE.md","runtime/reports/baseline.json"]},{"id":"23281b8f814b350af20b95ab6a4176cdbaf25b0a","message":"chore(governance): 退役两份无生成脚本的报告,过期证据归零\n\n2026-09-17 目录负责人裁决:两份都退役(删文件 + 撤登记,不留例外)。\n\n两份都是 09-12 手工拼的一次性记录,仓内没有任何脚本能产出它们,因此永远\n无法重跑、只会一直过期;而它们的结论现在都由自动化门禁产出并正确绑定:\n\n- identity-http(8 例):逐条比对确认与 runtime/test/e2e/identity-profile.test.ts\n 同名,今日已在 check:runtime 的 775 例里跑过并绑 6108357。其自述的\n provenanceMethod 就写着「Post-run source inspection」,本就不是门禁产物\n- mainline-candidate-regression(155 例):作用域即 governance/{lib,test} 与\n 两个检查器,结论由 node --test governance/test/*.test.mjs 产出,今日 277/277。\n 155 这个数字自 09-12 起无人维护,保留它只会让人以为另有一道独立的候选回归门禁\n\n退役前已核:release-manifest.mjs 与 build-workbench-snapshots.mjs 都不引用\n这两份;其余引用只在 09-12 的历史记录文档与生成式快照字段里,会随重跑更新。\n\nevidence-scopes 登记 36 → 34,note 补记本次裁决与口径(同 stack-image-pins\n例外里写的「倾向 ① 退役」)。\n\ncheck:evidence:33 新鲜 / **0 过期** / 1 例外(stack-image-pins,另有出口)。\ngovernance 测试 277/277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/23281b8f814b350af20b95ab6a4176cdbaf25b0a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:54:10-07:00","added":[],"removed":["reports/identity-http.latest.json","reports/mainline-candidate-regression.latest.json"],"modified":["governance/evidence-scopes.json"]},{"id":"95d0ac8860038d4af6a3d15d4ca35ff0eff52749","message":"chore(reports): 主线验收与恢复演练重跑通过 @ bc978a8\n\n在专用隔离栈 enterprise-platform-ms23-ci(PG :55485 / Redis :56395 /\nRedpanda :59105)上重跑,源库经 mainline:prepare 新建(platform_{fact,\npermission,audit,owner,consumer}_ci,全部非超级用户 / NOBYPASSRLS)。\n\n- mainline-acceptance passed,四套件 11 / 17 / 19 / 18:fact-read-http、\n fact-persistence、audit-tamper、mainline-revocation-chaos(含重复投递、\n 非连续乱序版本、毒消息 DLQ 与 broker 停机恢复)\n- mainline-restore passed,3 个库逐库 dump + 还原到新建 drill 库,表数\n 12 / 6 / …,逐库 SHA-256 一致;不删除、不重置源库与既往 drill\n- revocation-sla 随之刷新,仍 partial:invalidationPush 的 verdict 依旧是\n measured-with-harness-transport,生产传输未接线\n\n为什么换栈:恢复演练与 Redpanda 混沌用例的 allowlist 只认\nenterprise-platform-{ms23,ms23-ci,adversarial} 三个 compose 工程,\n共享的 ep-delivery 与 dev 常驻 stack 永远不匹配——这是故意的护栏,\n破坏性注入不得指向共享底座。dev 常驻栈全程未被触碰。\n\ncheck:evidence 过期 4 → 2,余下两份都没有生成脚本,另行处置。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/95d0ac8860038d4af6a3d15d4ca35ff0eff52749","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:50:15-07:00","added":[],"removed":[],"modified":["reports/mainline-acceptance.latest.json","reports/mainline-restore.latest.json","reports/revocation-sla.latest.json"]},{"id":"bc978a8a99636b34e0bc69b018ee6ce8bd6192b9","message":"chore(reports): identity 模块 UI 验收重跑通过 @ 828f178\n\n真实统一 Next 前端 + identity profile + 专用 PostgreSQL/Redis,2 个浏览器级\n用例全绿,由 90cda56 重绑 828f178(作用域内此前累计 21 个文件变更)。\n端口 web :7352 / api :7353。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/bc978a8a99636b34e0bc69b018ee6ce8bd6192b9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:43:48-07:00","added":[],"removed":[],"modified":["reports/identity-ui.latest.json"]}],"total_commits":0,"head_commit":{"id":"36e0423efe0ddc105136d193bfb594efb9838d62","message":"chore(reports): 全链回绑 @ 1af0f22,证据零过期零告警\n\n干净树重跑根 pnpm check。check:evidence:34 份已登记,**33 份新鲜 / 0 过期 /\n0 输入未提交 / 0 告警 / 1 例外**(stack-image-pins,其例外自带出口)。\n\n这是本轮治理完善的收口:从九份过期、error 级判定,到零过期零告警。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/36e0423efe0ddc105136d193bfb594efb9838d62","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:56:42-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/evidence-freshness.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17277,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T09:22:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
24
|
1789696615
|
1789696796
|
0
|
1789696615
|
1789696855
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24065
|
chore(reports): 工作台两份快照回绑 @ e94ad17
|
116
|
5
|
platform.yml
|
103
|
5
|
0
|
refs/heads/main
|
f9cb195319422eac06bd2111e1034e956ebcafb0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4b067cd4a76bfced89f76e979cf7bd36d3521a91","after":"f9cb195319422eac06bd2111e1034e956ebcafb0","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/4b067cd4a76bfced89f76e979cf7bd36d3521a91...f9cb195319422eac06bd2111e1034e956ebcafb0","commits":[{"id":"f9cb195319422eac06bd2111e1034e956ebcafb0","message":"chore(reports): 工作台两份快照回绑 @ e94ad17\n\n经 pnpm reports:rebind 的多报告路径产出,两份同绑同一提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f9cb195319422eac06bd2111e1034e956ebcafb0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:22:33-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"e94ad17db981932c5d0b08f2b99f2a786bdf36d7","message":"feat(governance): rebind-reports 支持一个门禁多份报告,纳入工作台两份快照\n\nworkbench-catalog-snapshot 与 workbench-ops-snapshot 由同一个\nbuild-workbench-snapshots.mjs 产出,且它只 import node 内置与\ngovernance/lib/provenance.mjs——同样零依赖,本该在工具覆盖范围内。\n\n注册表 report:string → reports:string[],三处判定与执行循环随之改为按份遍历。\n新增一条语义约束:同一门禁的多份报告要么全带回、要么一份都不带,否则两份会\n绑到不同提交,而它们描述的是同一次运行。两条负向用例分别钉住「任一份在途即\n整体跳过」与「任一份作用域有未提交输入即整体跳过」。\n\n实跑验证:两份快照同绑 aaf4836 / dirty=false。\ngovernance 测试 275 → 277。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e94ad17db981932c5d0b08f2b99f2a786bdf36d7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:22:24-07:00","added":[],"removed":[],"modified":["governance/README.md","governance/rebind-reports.mjs","governance/test/rebind-reports.test.mjs"]},{"id":"aaf483645e83337d5d0a8a50b95df678adf0fb76","message":"chore(reports): 过期证据 13 → 8,全部 error 清零 @ 4b067cd\n\n按偏差 #34 裁决落地后的第一轮清理。源码树干净(仅并行会话的 4 份 latest\n报告未提交,worktreeDirty 本就排除 *.latest.json),故可就地重跑并绑定。\n\n- port-conformance:41/41 passed,由 defd9d7 重绑 4b067cd。这是 09-17 那次\n 「跑通了却因无关文件脏着而不能采信」的收口\n- runtime 静态链 31 任务全过:naming / dual-backend-parity / fork-readiness /\n migrations 四份此前因并行会话提交 WB-1、runtime/apps 多出 workbench 而落进\n 作用域,现已重绑\n- workbench 两份快照重新生成(catalog projects=21 mapped=7/7 conflicts=0;\n ops controlled_operations=recorded)\n\ncheck:evidence 由 failed 转 partial:27 新鲜 / 8 过期 / 1 例外,0 error。\n余下 8 份全部需要真实环境才能重跑,不是本机静态能解决的:\nruntime-acceptance、ui-acceptance、revocation-sla、mainline-acceptance、\nmainline-restore、mainline-candidate-regression、identity-http、identity-ui。\n\n未触碰并行会话在途的 caddy / facts / migration-decs / module-imports 四份。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/aaf483645e83337d5d0a8a50b95df678adf0fb76","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:21:25-07:00","added":[],"removed":[],"modified":["reports/port-conformance.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"f9cb195319422eac06bd2111e1034e956ebcafb0","message":"chore(reports): 工作台两份快照回绑 @ e94ad17\n\n经 pnpm reports:rebind 的多报告路径产出,两份同绑同一提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f9cb195319422eac06bd2111e1034e956ebcafb0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:22:33-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17220,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T07:33:15+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789694588
|
1789694626
|
0
|
1789694573
|
1789694655
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24064
|
docs(计划): 过期证据 9 → 8 且 error 清零;§1 证据行按 f9cb195 重采
|
117
|
5
|
governance.yml
|
40
|
5
|
0
|
refs/heads/main
|
689e924f3db984f90ee13c2e0dd1a0082a70c1d3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"693800ceaf834b217a01466e19579af6a23925cf","after":"689e924f3db984f90ee13c2e0dd1a0082a70c1d3","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/693800ceaf834b217a01466e19579af6a23925cf...689e924f3db984f90ee13c2e0dd1a0082a70c1d3","commits":[{"id":"689e924f3db984f90ee13c2e0dd1a0082a70c1d3","message":"docs(计划): 过期证据 9 → 8 且 error 清零;§1 证据行按 f9cb195 重采\n\n偏差 #34 裁决落地后的首轮清理:port-conformance 重绑、runtime 静态链四份\n重绑(WB-1 使 runtime/apps 变动而落进作用域)、工作台两份快照经\npnpm reports:rebind 重绑。check:evidence 由 failed 转 partial(27/8/1,0 error)。\n余 8 份全部需真实环境重跑,已逐一点名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/689e924f3db984f90ee13c2e0dd1a0082a70c1d3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:22:48-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"689e924f3db984f90ee13c2e0dd1a0082a70c1d3","message":"docs(计划): 过期证据 9 → 8 且 error 清零;§1 证据行按 f9cb195 重采\n\n偏差 #34 裁决落地后的首轮清理:port-conformance 重绑、runtime 静态链四份\n重绑(WB-1 使 runtime/apps 变动而落进作用域)、工作台两份快照经\npnpm reports:rebind 重绑。check:evidence 由 failed 转 partial(27/8/1,0 error)。\n余 8 份全部需真实环境重跑,已逐一点名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/689e924f3db984f90ee13c2e0dd1a0082a70c1d3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T18:22:48-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8905,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:40:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789694572
|
1789694588
|
0
|
1789694571
|
1789694588
|
|
|
0
|
Edit
Delete
|
|
24063
|
chore(reports): 治理层门禁报告回绑 @ 87ec431
|
117
|
5
|
governance.yml
|
39
|
5
|
0
|
refs/heads/main
|
693800ceaf834b217a01466e19579af6a23925cf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eca16cecb1b0e54e66d69268589ffa59c2fe6eff","after":"693800ceaf834b217a01466e19579af6a23925cf","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/eca16cecb1b0e54e66d69268589ffa59c2fe6eff...693800ceaf834b217a01466e19579af6a23925cf","commits":[{"id":"693800ceaf834b217a01466e19579af6a23925cf","message":"chore(reports): 治理层门禁报告回绑 @ 87ec431\n\n清树重跑 run-foundation-gates:阻断性 11/11 通过,仅记录 2(工作区一致性\nL9 / L12)。三份报告 worktreeDirty=false,绑定 87ec431。\n\n(订正:本条信息初次写成「回绑 @ 9a5b3c0」,那是提交前预估的 SHA,实际\n实现提交是 87ec431。报告内容的绑定一直是对的,错的只是信息里的那串字。)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/693800ceaf834b217a01466e19579af6a23925cf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:40:15-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},{"id":"87ec4315c77935405e16314c11789ddb6ae45e5a","message":"feat(governance): G6 流外出口必须写复核期,缺失或过期即判红\n\n补上前一提交记为「仍缺一道」的缺口,不留登记而不建。\n\n根因:门禁消费登记的 G4 只断言 wireInWhen 非空,从不校验它是否已成立。\n流外出口是这份登记唯一的豁免口,而豁免口自己没有到期判据——用来防静音的\n机制在自己身上静音了。实锤就是前一提交处理的那条:check-domain-layer 的\n接入条件「D5 与 D9 清零」早已双双成立,G4 全绿,无人发现。\n\nG6 OUT_OF_FLOW_UNREVIEWED:流外条目必须写 conditionReviewBy(YYYY-MM-DD),\n缺失、格式不对或已过期即判红;当天不算过期;只对流外生效,阻断位条目每轮\n都在跑,不需要复核期。6 例负向覆盖这五种形态。\n\n守日期而不守条件是有意的:接入条件多半含人的判断(「框架同步波次扩散后」\n「再有派生仓开仓时」),机器判不了;能机器化的是「必须有人按期回来看一眼」。\n与同日落的域分层基线 B4 同形——缓期不是豁免。\n\n两条现存流外条目各自写了复核期与理由:\n- check-workspace-consistency 2026-10-31:L9 / L12 挂在活裁决 N-11 / C-14\n 上,六周内应有进展。\n- audit-platform-openings 2026-12-31:触发事件罕见,现存派生仓 0 个\n (派生仓状态.json 只剩 missing 1 + retired 18),不是六周尺度的事。\n\n台账 C-19 由「仍缺一道」改为已补,落点写明。\n\n证据:治理层 378 例 0 失败(新增 6 例负向)、阻断性门禁 11/11、\n工作区一致性仍 2 条(L9 / L12)。报告在脏树上产出,不随本提交。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/87ec4315c77935405e16314c11789ddb6ae45e5a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:40:01-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/lib/gate-registry-core.mjs","平台治理/基础/tests/gate-consumption.test.mjs","平台治理/基础/上层对接经验回灌台账.md","平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"693800ceaf834b217a01466e19579af6a23925cf","message":"chore(reports): 治理层门禁报告回绑 @ 87ec431\n\n清树重跑 run-foundation-gates:阻断性 11/11 通过,仅记录 2(工作区一致性\nL9 / L12)。三份报告 worktreeDirty=false,绑定 87ec431。\n\n(订正:本条信息初次写成「回绑 @ 9a5b3c0」,那是提交前预估的 SHA,实际\n实现提交是 87ec431。报告内容的绑定一直是对的,错的只是信息里的那串字。)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/693800ceaf834b217a01466e19579af6a23925cf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:40:15-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8819,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:37:05+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789688661
|
1789688675
|
0
|
1789688425
|
1789688675
|
|
|
0
|
Edit
Delete
|
|
24062
|
chore(reports): 治理层门禁报告回绑 @ 3ca6a19
|
117
|
5
|
governance.yml
|
38
|
5
|
0
|
refs/heads/main
|
eca16cecb1b0e54e66d69268589ffa59c2fe6eff
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1645e7288b484ab39a4e3ebb2da44678e9b9e300","after":"eca16cecb1b0e54e66d69268589ffa59c2fe6eff","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/1645e7288b484ab39a4e3ebb2da44678e9b9e300...eca16cecb1b0e54e66d69268589ffa59c2fe6eff","commits":[{"id":"eca16cecb1b0e54e66d69268589ffa59c2fe6eff","message":"chore(reports): 治理层门禁报告回绑 @ 3ca6a19\n\n清树重跑 run-foundation-gates:阻断性 11/11 通过(check-domain-layer 首次\n以阻断位计入,基线口径 0 阻断),仅记录 2(工作区一致性 L9 / L12)。\n三份报告 worktreeDirty=false,绑定 3ca6a19。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/eca16cecb1b0e54e66d69268589ffa59c2fe6eff","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:37:02-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},{"id":"3ca6a19355e099d1643d6f03eeb59ae360011615","message":"feat(governance): 域分层门禁转阻断位,按基线只拦新增\n\n查 L9 派活路径时撞见一条静音:门禁消费登记里 check-domain-layer 的接入\n条件写的是「D5(CHG-007 合并)与 D9(两份契约副本收敛)清零后转阻断位」,\n2026-09-17 实测 D5 = 0、D9 = 0——条件早已满足而无人察觉。\n\n根因:check-gate-consumption 的 G4 只断言 wireInWhen 非空,从不校验它是否\n已成立。该登记本是为治「门禁失败信号无人看」而建的,流外出口是它唯一的\n豁免口,而豁免口自己没有到期判据——用来防静音的机制在自己身上静音了。\n\n处置不能是直接翻阻断位:余下 13 条全在上层应用仓,治理层按回灌边界不代其\n提交,接入即恒红,而恒红正是该登记要治的病。原条件后半句「其余各条按\nOwner 各自的节奏消」已写明正确形态,只是从没人把它实现成基线。故:\n\n- 新增 域分层基线.json:13 条存量逐条具名 Owner 与复核期(D2 权威倒挂 3 ·\n D4 无事实出口 3 · D6 未装入基座 3 · D7 同版本分叉 1 · D10 已装内容不可\n 追溯 1 · D11 门禁零负向探针 2),来源登记指回台账 U-24 / U-32 / U-34 /\n U-36 与 §3 第 2 条。\n- 新增 scripts/lib/domain-layer-baseline.mjs:B1 新增 / B2 存量恶化 /\n B3 基线腐烂或缺 Owner / B4 过复核期,四类任一非空即阻断。B3 与 B4 守的是\n 基线自己——修好了必须删条目,过了复核期必须复核,否则基线会腐烂成豁免清单。\n- check-domain-layer 退出码改基线口径,--no-baseline 仍看未过滤的全量\n (13 条,退出 1);registry 里该条转 run-foundation-gates 阻断位。\n\n一处要点:棘轮只认单调变坏的量。D10 的 matched(命中源仓提交的文件数)与\nD11 的 probes(负向探针条数)都是越大越好,拿来当上限会把改进判成恶化、\n反过来把修复锁死;已在 findingCount 里排除并写明理由,现只有 D2 的 count\n做棘轮。这条有单测守着。\n\n顺带更正 check-workspace-consistency 那条已过期的基线文字:L8 已归零\n(并行会话登记了具名冻结豁免),L9 的「12 仓」按当日实测改为 8 个上层\n应用仓;其接入形态改写为照此先例走基线棘轮,不再用「全清零再接入」——\n否则又是一个可能长期悬空的流外出口。\n\n仍缺一道,已记台账 C-19:G4 至今不会因「wireInWhen 已成立」而判红,\n下一个流外出口还能同样悬空。\n\n证据:治理层 377 例 0 失败(新增 12 例负向)、阻断性门禁 11/11、\n工作区一致性仍 2 条(L9 / L12)。L13 当场抓出收纳表漂移,已随本提交改数\n(根文件 62→63、scripts 50→51、tests 33→34)。报告在脏树上产出,\n不随本提交,清树重跑后另行回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/3ca6a19355e099d1643d6f03eeb59ae360011615","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:36:39-07:00","added":["平台治理/基础/scripts/lib/domain-layer-baseline.mjs","平台治理/基础/tests/domain-layer-baseline.test.mjs","平台治理/基础/域分层基线.json"],"removed":[],"modified":["平台治理/README.md","平台治理/基础/scripts/check-domain-layer.mjs","平台治理/基础/上层对接经验回灌台账.md","平台治理/基础/门禁消费登记.json","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"eca16cecb1b0e54e66d69268589ffa59c2fe6eff","message":"chore(reports): 治理层门禁报告回绑 @ 3ca6a19\n\n清树重跑 run-foundation-gates:阻断性 11/11 通过(check-domain-layer 首次\n以阻断位计入,基线口径 0 阻断),仅记录 2(工作区一致性 L9 / L12)。\n三份报告 worktreeDirty=false,绑定 3ca6a19。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/eca16cecb1b0e54e66d69268589ffa59c2fe6eff","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:37:02-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8719,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:33:14+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789688646
|
1789688660
|
0
|
1789688225
|
1789688660
|
|
|
0
|
Edit
Delete
|
|
24061
|
chore(reports): otel 回绑 @ e5cc39f(首次用 pnpm reports chore(reports): otel 回绑 @ e5cc39f(首次用 pnpm reports:rebind 产出)...
|
116
|
5
|
platform.yml
|
102
|
5
|
0
|
refs/heads/main
|
4b067cd4a76bfced89f76e979cf7bd36d3521a91
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","after":"4b067cd4a76bfced89f76e979cf7bd36d3521a91","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab...4b067cd4a76bfced89f76e979cf7bd36d3521a91","commits":[{"id":"4b067cd4a76bfced89f76e979cf7bd36d3521a91","message":"chore(reports): otel 回绑 @ e5cc39f(首次用 pnpm reports:rebind 产出)\n\n在主工作区有并行会话未提交改动的情况下,经 HEAD 干净检出生成,\nprovenance 绑 e5cc39f / worktreeDirty=false——偏差 #34-A 裁决实现的首次实用。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4b067cd4a76bfced89f76e979cf7bd36d3521a91","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:32:14-07:00","added":[],"removed":[],"modified":["reports/otel.latest.json"]},{"id":"e5cc39f4dc74d56bce2b1861b15f8822ec3fdc3e","message":"feat(governance): 偏差 #34 裁决实现——干净检出回绑工具 + 脏绑判定不再断言未核实的事\n\n2026-09-17 目录负责人裁决:A 走「干净 worktree 生成报告」(不动判据),\nB「修正断言」。\n\n#34-A|新增 governance/rebind-reports.mjs(pnpm reports:rebind)\nprovenance.worktreeDirty 由全仓 git status 算,而 check:evidence 判过期是按\n每份报告自己的作用域算。口径不一致,导致只要仓里任何无关文件脏着就没法回绑\n任何报告——本工作区常有 2—3 个并行会话,干净窗口稀少,这是过期证据难清零的\n结构性成因。裁决不放宽 worktreeDirty,改为换个干净的地方生成:在 HEAD 开\ngit worktree 检出,在那里跑门禁,只把「绑 HEAD 且 dirty=false」的报告拷回。\n\n可行前提是 governance/ 零依赖(package.json 无 dependencies/devDependencies),\n临时检出不需要 pnpm install。实测:主工作区有 7 项未提交时,otel 报告仍绑到\n0c5d0b0 / dirty=false。\n\n三条护栏,都有负向用例:\n- 作用域内有未提交输入的门禁跳过(否则是拿 HEAD 的结论覆盖当前工作区)\n- 目标报告自己未提交的跳过(并行会话的在途产物,覆盖即销毁;--force 才 override)\n- 产出 provenance 不是干净 HEAD 绑定就不带回\n范围外的说清楚不假装:check:fixtures / check:port-conformance 与 runtime、\ncontracts 的检查需要构建产物,必须在装好依赖的检出里跑。\n\n顺带记一条坑:入口判定不能写 `import.meta.url === file://${argv[1]}`——本仓\n路径含中文,import.meta.url 是百分号编码的,比较永远不等,脚本会静默不做事。\n\n#34-B|check-evidence-freshness 的 EVIDENCE_BOUND_DIRTY\n该分支读的是工作区里的报告文件,定级却用 currentTreeDirty,而后者走\ngitProvenance() 并显式排除 *.latest.json。于是并行会话跑门禁、只有报告文件脏\n时,当前树被算作干净,4 份未提交的在途报告被判 error 并输出「脏绑报告被提交\n了」——该断言为假(那 4 份的 HEAD 版本干净绑 8382c04)。现按报告文件自身是否\n未提交区分:在途产物降 info 并如实描述;确系已提交的脏绑仍是 error。判据未放宽,\n两条负向用例分别钉住这两侧。\n\ngovernance 测试 266 → 275。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e5cc39f4dc74d56bce2b1861b15f8822ec3fdc3e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:32:04-07:00","added":["governance/rebind-reports.mjs","governance/test/rebind-reports.test.mjs"],"removed":[],"modified":["docs/runbook.md","governance/README.md","governance/check-evidence-freshness.mjs","governance/test/check-evidence-freshness.test.mjs","package.json"]}],"total_commits":0,"head_commit":{"id":"4b067cd4a76bfced89f76e979cf7bd36d3521a91","message":"chore(reports): otel 回绑 @ e5cc39f(首次用 pnpm reports:rebind 产出)\n\n在主工作区有并行会话未提交改动的情况下,经 HEAD 干净检出生成,\nprovenance 绑 e5cc39f / worktreeDirty=false——偏差 #34-A 裁决实现的首次实用。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4b067cd4a76bfced89f76e979cf7bd36d3521a91","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:32:14-07:00","added":[],"removed":[],"modified":["reports/otel.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17171,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T07:26:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
34
|
1789688675
|
1789688713
|
0
|
1789687994
|
1789688741
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24060
|
docs(计划): 偏差 #34 已裁决并实现,移入已关闭(真源仓 e5cc39f / 4b067c docs(计划): 偏差 #34 已裁决并实现,移入已关闭(真源仓 e5cc39f / 4b067cd)...
|
117
|
5
|
governance.yml
|
37
|
5
|
0
|
refs/heads/main
|
1645e7288b484ab39a4e3ebb2da44678e9b9e300
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e0ea08130bcbed848d075740bb4b5c44c1ffde4","after":"1645e7288b484ab39a4e3ebb2da44678e9b9e300","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/1e0ea08130bcbed848d075740bb4b5c44c1ffde4...1645e7288b484ab39a4e3ebb2da44678e9b9e300","commits":[{"id":"1645e7288b484ab39a4e3ebb2da44678e9b9e300","message":"docs(计划): 偏差 #34 已裁决并实现,移入已关闭(真源仓 e5cc39f / 4b067cd)\n\n目录负责人 2026-09-17 裁决:\n- A「干净检出生成报告」:不放宽 worktreeDirty,改为 pnpm reports:rebind 在\n HEAD 开 git worktree 跑零依赖门禁、只带回干净绑定的报告\n- B「修正断言」:EVIDENCE_BOUND_DIRTY 按报告文件自身是否未提交区分,在途\n 产物降 info 并如实描述,已提交的脏绑仍 error\n\n§6 中 #34 由开放表移入已关闭一行并附实现与证据;§8 增一行记录裁决与实现细节\n(含范围外声明与三条护栏)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1645e7288b484ab39a4e3ebb2da44678e9b9e300","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:33:10-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"1645e7288b484ab39a4e3ebb2da44678e9b9e300","message":"docs(计划): 偏差 #34 已裁决并实现,移入已关闭(真源仓 e5cc39f / 4b067cd)\n\n目录负责人 2026-09-17 裁决:\n- A「干净检出生成报告」:不放宽 worktreeDirty,改为 pnpm reports:rebind 在\n HEAD 开 git worktree 跑零依赖门禁、只带回干净绑定的报告\n- B「修正断言」:EVIDENCE_BOUND_DIRTY 按报告文件自身是否未提交区分,在途\n 产物降 info 并如实描述,已提交的脏绑仍 error\n\n§6 中 #34 由开放表移入已关闭一行并附实现与证据;§8 增一行记录裁决与实现细节\n(含范围外声明与三条护栏)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1645e7288b484ab39a4e3ebb2da44678e9b9e300","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:33:10-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8692,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789688630
|
1789688646
|
0
|
1789687994
|
1789688646
|
|
|
0
|
Edit
Delete
|
|
24059
|
chore(reports): 治理层门禁报告回绑 @ 6e0d7aa
|
117
|
5
|
governance.yml
|
36
|
5
|
0
|
refs/heads/main
|
1e0ea08130bcbed848d075740bb4b5c44c1ffde4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d5f1b641b05f0b3a351c8792b64d7215f3356d38","after":"1e0ea08130bcbed848d075740bb4b5c44c1ffde4","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/d5f1b641b05f0b3a351c8792b64d7215f3356d38...1e0ea08130bcbed848d075740bb4b5c44c1ffde4","commits":[{"id":"1e0ea08130bcbed848d075740bb4b5c44c1ffde4","message":"chore(reports): 治理层门禁报告回绑 @ 6e0d7aa\n\n清树重跑 run-foundation-gates:阻断性 10/10 通过,仅记录 3\n(工作区一致性 2 条 L9 / L12、域分层 13 条,均不参与总账)。\n三份报告 worktreeDirty=false,绑定 6e0d7aa。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1e0ea08130bcbed848d075740bb4b5c44c1ffde4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:30:08-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},{"id":"6e0d7aa2570ce0046c8e1860044a8547f8567c23","message":"docs(治理): L9 收口为「根因已闭、扩散无渠道」,登记 N-11 交派活\n\n核到底的结论是 L9 不该按「待修的缺陷」处理:\n\n- 模板根因早已关闭。框架 0.17.0(实现提交 313137b)给 compose 写了\n name: ${COMPOSE_PROJECT_NAME:-base-framework} 与 ${REDIS_PORT:-6379},\n F14 在框架 pnpm check 链里守全仓每一份 compose,scaffold-derived.mjs\n 派生时重绑身份,变更请求文首已记「已受理并落地」。enterprise-platform\n 两份 compose 也已带身份。新建仓不再扩散该缺陷。\n- 但扩散没有发生,且没有渠道可走。回灌台账 §3 第 8 条指定的\n 框架新版本同步计划自述「同步波次事实上已无目标」(18 个派生仓已退役),\n 它也从不覆盖上层应用仓。L9 当日实测仍有 8 个应用仓共用 project\n api-nestjs,且这 8 个仓自己的门禁一个都不报:5 个带 F14 之前的旧版\n check-fork-readiness.mjs(文件内 F14 零命中),3 个没有该脚本——\n 它们的 pnpm check 在冲突状态下仍是绿的。\n- 台账原话「在模板修好前,任何两个仓不得同时 docker compose up」的前提\n 已不成立而风险未变,按实际判据改述为「上列 8 个仓两两之间不得同时 up」。\n\n治理层按回灌边界「不代业务应用仓提交」,不自行下手,本轮只落记录:\nC-15 与 §3 第 8 条加订正(append-only,不改写原文),新登记待裁决 N-11\n交目录负责人三选一,并写明 0.17.0 的 F14 是破坏性变更——改 project 名后\n首次 up 会建新空卷,旧卷 api-nestjs_* 的开发数据不跟着走,这正是 N-09\n当时搁置同步的那一条,选任一路线都要先答共用卷里的数据归谁。\n\nL9 保持红,不降级。\n\n证据:治理层 365 例 0 失败、阻断性门禁 10/10;工作区一致性仍 2 条\n(L9 / L12),无新增断链与措辞违规。报告在脏树上产出,不随本提交,\n清树重跑后另行回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/6e0d7aa2570ce0046c8e1860044a8547f8567c23","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:29:41-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础/上层对接经验回灌台账.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"1e0ea08130bcbed848d075740bb4b5c44c1ffde4","message":"chore(reports): 治理层门禁报告回绑 @ 6e0d7aa\n\n清树重跑 run-foundation-gates:阻断性 10/10 通过,仅记录 3\n(工作区一致性 2 条 L9 / L12、域分层 13 条,均不参与总账)。\n三份报告 worktreeDirty=false,绑定 6e0d7aa。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1e0ea08130bcbed848d075740bb4b5c44c1ffde4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:30:08-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8613,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:25:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789688615
|
1789688630
|
0
|
1789687811
|
1789688630
|
|
|
0
|
Edit
Delete
|
|
24058
|
fix(runtime): 框架残留 compose 补 project 名——退出 api-nes fix(runtime): 框架残留 compose 补 project 名——退出 api-nestjs 撞名(C-13 / 一致性门禁 L9)...
|
116
|
5
|
platform.yml
|
101
|
5
|
0
|
refs/heads/main
|
0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","after":"0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/ac396a0f27fd673e02fc0c2f5887ea7f06b879b4...0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","commits":[{"id":"0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","message":"fix(runtime): 框架残留 compose 补 project 名——退出 api-nestjs 撞名(C-13 / 一致性门禁 L9)\n\nruntime/apps/api-nestjs/docker-compose.yml 未声明顶层 name,docker compose 按目录名推导为\napi-nestjs,与工作区内另外 8 个仓的同名 compose 共用容器与具名卷(api-nestjs_pgdata /\nredisdata / miniodata);后 up 的那个会复用前一个的数据。框架仓同名文件已写成\n`name: ${COMPOSE_PROJECT_NAME:-base-framework}`,本仓这份是更早版本的残留。\n\n按同一写法补上,默认值取本仓专属 enterprise-platform-runtime-dev(不沿用框架默认,否则\n改为与框架仓撞名)。本文件是框架默认 dev compose,其端口 5432 / 6379 与本仓实际底座\n(stack/compose.yaml,project enterprise-platform-stack)无关,改名不影响任何在跑的服务。\n\n一致性门禁 L9 参与仓 9 → 8;余 8 个仓在业务应用层与企业领域应用层,按 C-13 由各仓 Owner\n与 SRE 处置。三组卷现状:api-nestjs_* 与 enterprise-idp_* 共 5 个卷,所属容器均为\ncreated / exited 非运行态;C-13 要求的 pg_dump 尚未做(仓备份-2026-09-16/ 目前只有 4 个 git bundle)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:25:43-07:00","added":[],"removed":[],"modified":["runtime/apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","message":"fix(runtime): 框架残留 compose 补 project 名——退出 api-nestjs 撞名(C-13 / 一致性门禁 L9)\n\nruntime/apps/api-nestjs/docker-compose.yml 未声明顶层 name,docker compose 按目录名推导为\napi-nestjs,与工作区内另外 8 个仓的同名 compose 共用容器与具名卷(api-nestjs_pgdata /\nredisdata / miniodata);后 up 的那个会复用前一个的数据。框架仓同名文件已写成\n`name: ${COMPOSE_PROJECT_NAME:-base-framework}`,本仓这份是更早版本的残留。\n\n按同一写法补上,默认值取本仓专属 enterprise-platform-runtime-dev(不沿用框架默认,否则\n改为与框架仓撞名)。本文件是框架默认 dev compose,其端口 5432 / 6379 与本仓实际底座\n(stack/compose.yaml,project enterprise-platform-stack)无关,改名不影响任何在跑的服务。\n\n一致性门禁 L9 参与仓 9 → 8;余 8 个仓在业务应用层与企业领域应用层,按 C-13 由各仓 Owner\n与 SRE 处置。三组卷现状:api-nestjs_* 与 enterprise-idp_* 共 5 个卷,所属容器均为\ncreated / exited 非运行态;C-13 要求的 pg_dump 尚未做(仓备份-2026-09-16/ 目前只有 4 个 git bundle)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0c5d0b09bc2d1c4baddfd59b484c5fdcbe0917ab","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:25:43-07:00","added":[],"removed":[],"modified":["runtime/apps/api-nestjs/docker-compose.yml"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17167,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T07:25:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
33
|
1789687636
|
1789687678
|
0
|
1789687572
|
1789687994
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24057
|
chore(governance): evidence-scopes 口径说明补第五类——有 pro chore(governance): evidence-scopes 口径说明补第五类——有 provenance 但无生成脚本的一次性记录...
|
116
|
5
|
platform.yml
|
100
|
5
|
0
|
refs/heads/main
|
ac396a0f27fd673e02fc0c2f5887ea7f06b879b4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bd625a1a1535a34e265b11424a646618c543ffef","after":"ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/bd625a1a1535a34e265b11424a646618c543ffef...ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","commits":[{"id":"ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","message":"chore(governance): evidence-scopes 口径说明补第五类——有 provenance 但无生成脚本的一次性记录\n\n那段说明自 2026-09-15 起写「余 15 份未登记,都是有意不登」并逐类枚举,\n但今天实测是 16 份,且 client-identity 与 governance-truth-validation 两份\n不在任何一类里——说明本身成了过期声明,而它正是「为什么不登」的唯一依据。\n\n全仓搜索确认这两份没有生成脚本(与 caddy / workbench-snapshots 这类有\ngenerator 的登记项相反),属手工一次性记录:可以有合法 provenance,但不可\n重跑,登记后必然过期且只能靠例外掩盖。故新增第五类并写明:\n\n- 与 reports/stack-image-pins.latest.json 同因不同果——后者当年登记了,\n 于是只能挂一条带出口的例外;第五类因未登记而无需例外\n- 出口同样二选一:补生成脚本后转正式登记,或退役该报告\n- 在此之前它们只是记录,不得被引用为可重跑的机器证据\n\n计数改为带日期的复核快照。未新增或删除任何作用域登记,未改判据,未动文件\n其余格式(差异 1 行)。check:evidence 仍 partial(26 新鲜 / 9 过期 / 1 例外,\n与改前逐项相同);governance 测试 266/266。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:23:44-07:00","added":[],"removed":[],"modified":["governance/evidence-scopes.json"]}],"total_commits":0,"head_commit":{"id":"ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","message":"chore(governance): evidence-scopes 口径说明补第五类——有 provenance 但无生成脚本的一次性记录\n\n那段说明自 2026-09-15 起写「余 15 份未登记,都是有意不登」并逐类枚举,\n但今天实测是 16 份,且 client-identity 与 governance-truth-validation 两份\n不在任何一类里——说明本身成了过期声明,而它正是「为什么不登」的唯一依据。\n\n全仓搜索确认这两份没有生成脚本(与 caddy / workbench-snapshots 这类有\ngenerator 的登记项相反),属手工一次性记录:可以有合法 provenance,但不可\n重跑,登记后必然过期且只能靠例外掩盖。故新增第五类并写明:\n\n- 与 reports/stack-image-pins.latest.json 同因不同果——后者当年登记了,\n 于是只能挂一条带出口的例外;第五类因未登记而无需例外\n- 出口同样二选一:补生成脚本后转正式登记,或退役该报告\n- 在此之前它们只是记录,不得被引用为可重跑的机器证据\n\n计数改为带日期的复核快照。未新增或删除任何作用域登记,未改判据,未动文件\n其余格式(差异 1 行)。check:evidence 仍 partial(26 新鲜 / 9 过期 / 1 例外,\n与改前逐项相同);governance 测试 266/266。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ac396a0f27fd673e02fc0c2f5887ea7f06b879b4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:23:44-07:00","added":[],"removed":[],"modified":["governance/evidence-scopes.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17159,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":42,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-18T07:22:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789687543
|
1789687636
|
0
|
1789687513
|
1789688615
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24056
|
docs(计划): 偏差 #34 补第二个缺陷;登记 evidence-scopes 口径修正(真源 docs(计划): 偏差 #34 补第二个缺陷;登记 evidence-scopes 口径修正(真源仓 ac396a0)...
|
117
|
5
|
governance.yml
|
35
|
5
|
0
|
refs/heads/main
|
d5f1b641b05f0b3a351c8792b64d7215f3356d38
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bc850cd56895bf917bf6ec91b565f582e3dc601d","after":"d5f1b641b05f0b3a351c8792b64d7215f3356d38","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/bc850cd56895bf917bf6ec91b565f582e3dc601d...d5f1b641b05f0b3a351c8792b64d7215f3356d38","commits":[{"id":"d5f1b641b05f0b3a351c8792b64d7215f3356d38","message":"docs(计划): 偏差 #34 补第二个缺陷;登记 evidence-scopes 口径修正(真源仓 ac396a0)\n\nEVIDENCE_BOUND_DIRTY 读工作区里的报告文件,判定严重级所用的 currentTreeDirty\n却走 gitProvenance(),而后者显式排除 *.latest.json。并行会话正在跑门禁、只有\n报告文件脏时,门禁认定「当前树干净」,把 4 份尚未提交的在途报告判成 error 并\n输出「脏绑报告被提交了」——该断言在此情形下为假:那 4 份的 HEAD 版本干净绑定\n8382c04,只有工作区版本绑 bd625a1 + dirty。对比工作区版本与 HEAD 版本即可分辨,\n门禁不该断言它没有核实的事。两点同属一条规则,建议一并处置。\n\n§8 同时登记 evidence-scopes 口径说明补第五类(真源仓 ac396a0)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d5f1b641b05f0b3a351c8792b64d7215f3356d38","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:25:08-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"d5f1b641b05f0b3a351c8792b64d7215f3356d38","message":"docs(计划): 偏差 #34 补第二个缺陷;登记 evidence-scopes 口径修正(真源仓 ac396a0)\n\nEVIDENCE_BOUND_DIRTY 读工作区里的报告文件,判定严重级所用的 currentTreeDirty\n却走 gitProvenance(),而后者显式排除 *.latest.json。并行会话正在跑门禁、只有\n报告文件脏时,门禁认定「当前树干净」,把 4 份尚未提交的在途报告判成 error 并\n输出「脏绑报告被提交了」——该断言在此情形下为假:那 4 份的 HEAD 版本干净绑定\n8382c04,只有工作区版本绑 bd625a1 + dirty。对比工作区版本与 HEAD 版本即可分辨,\n门禁不该断言它没有核实的事。两点同属一条规则,建议一并处置。\n\n§8 同时登记 evidence-scopes 口径说明补第五类(真源仓 ac396a0)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d5f1b641b05f0b3a351c8792b64d7215f3356d38","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:25:08-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8586,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:23:12+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789687512
|
1789687542
|
0
|
1789687511
|
1789687542
|
|
|
0
|
Edit
Delete
|
|
24055
|
docs(决策): C-12 drift 升档已执行(真源仓 8382c04)
|
117
|
5
|
governance.yml
|
34
|
5
|
0
|
refs/heads/main
|
bc850cd56895bf917bf6ec91b565f582e3dc601d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d991c449457408aed0e9b98accb23feffdcc3d92","after":"bc850cd56895bf917bf6ec91b565f582e3dc601d","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/d991c449457408aed0e9b98accb23feffdcc3d92...bc850cd56895bf917bf6ec91b565f582e3dc601d","commits":[{"id":"bc850cd56895bf917bf6ec91b565f582e3dc601d","message":"docs(决策): C-12 drift 升档已执行(真源仓 8382c04)\n\n决策批次 C-12 的两个前置(A-2 合并、drift 清零)均满足后执行升档:catalog:drift 的 error 与 drift 两档一律 exit 1,去掉从无调用方的 --strict 开关。逐条登记实况比原裁决所记更弱的那一点(此前连 error 都不阻断),并记 CLI 层四段负向。开发计划 §8 同步一行。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/bc850cd56895bf917bf6ec91b565f582e3dc601d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:23:08-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"bc850cd56895bf917bf6ec91b565f582e3dc601d","message":"docs(决策): C-12 drift 升档已执行(真源仓 8382c04)\n\n决策批次 C-12 的两个前置(A-2 合并、drift 清零)均满足后执行升档:catalog:drift 的 error 与 drift 两档一律 exit 1,去掉从无调用方的 --strict 开关。逐条登记实况比原裁决所记更弱的那一点(此前连 error 都不阻断),并记 CLI 层四段负向。开发计划 §8 同步一行。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/bc850cd56895bf917bf6ec91b565f582e3dc601d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:23:08-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8548,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:22:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789687407
|
1789687421
|
0
|
1789687392
|
1789687421
|
|
|
0
|
Edit
Delete
|
|
24054
|
fix(governance): L8 补冻结物的显式豁免出口——审批记录条目写明,缺理由不放行
|
117
|
5
|
governance.yml
|
33
|
5
|
0
|
refs/heads/main
|
d991c449457408aed0e9b98accb23feffdcc3d92
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfaef2fc83837096a19a0d330b709017c0f322dd","after":"d991c449457408aed0e9b98accb23feffdcc3d92","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/cfaef2fc83837096a19a0d330b709017c0f322dd...d991c449457408aed0e9b98accb23feffdcc3d92","commits":[{"id":"d991c449457408aed0e9b98accb23feffdcc3d92","message":"fix(governance): L8 补冻结物的显式豁免出口——审批记录条目写明,缺理由不放行\n\nL2 有 pragma 与 frozenInputs 两条出口,L8 一条也没有:冻结物改一字节即触发 L7 摘要不符,\n文件内的`一致性门禁豁免`标记对它无效,于是命中即永久噪声,与本门禁自己立的收敛原则\n(报出来的每一条都应当是能直接去改的)相反。\n\n出口改为由审批记录条目写明 consistencyExempt + consistencyExemptNote,缺 note 不放行;\n豁免以 frozenExempted 计数与 frozenExemptions 明细出现在 JSON 输出里,不静默。\n两个字段都不进 packageFingerprint(只取 path + sha256),登记前后指纹实测未变 1fdc2e1666c5。\n\n首条登记:新增基础应用MachineCatalog完整变更.patch。核验结论是误报——命中只 1 处、位于\ndiff 的上下文行(补丁并未引入),且处在一句陈述「旧断言写成了迁移双替换产物、等于没断言」的\n注释里,是对缺陷的描述而非被使用的路径。解除条件:变更包合并或撤回归档后随条目移除。\n\n验证:一致性门禁 3 → 2(余 L9 compose 撞名、L12 内核 pin 落后,均有既定归属);\ntests/workspace-consistency.test.mjs 35/35;变更包就绪门禁与评审门禁 exit 0。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d991c449457408aed0e9b98accb23feffdcc3d92","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:22:29-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-workspace-consistency.mjs","平台治理/基础/新增基础应用MachineCatalog审批记录.json"]}],"total_commits":0,"head_commit":{"id":"d991c449457408aed0e9b98accb23feffdcc3d92","message":"fix(governance): L8 补冻结物的显式豁免出口——审批记录条目写明,缺理由不放行\n\nL2 有 pragma 与 frozenInputs 两条出口,L8 一条也没有:冻结物改一字节即触发 L7 摘要不符,\n文件内的`一致性门禁豁免`标记对它无效,于是命中即永久噪声,与本门禁自己立的收敛原则\n(报出来的每一条都应当是能直接去改的)相反。\n\n出口改为由审批记录条目写明 consistencyExempt + consistencyExemptNote,缺 note 不放行;\n豁免以 frozenExempted 计数与 frozenExemptions 明细出现在 JSON 输出里,不静默。\n两个字段都不进 packageFingerprint(只取 path + sha256),登记前后指纹实测未变 1fdc2e1666c5。\n\n首条登记:新增基础应用MachineCatalog完整变更.patch。核验结论是误报——命中只 1 处、位于\ndiff 的上下文行(补丁并未引入),且处在一句陈述「旧断言写成了迁移双替换产物、等于没断言」的\n注释里,是对缺陷的描述而非被使用的路径。解除条件:变更包合并或撤回归档后随条目移除。\n\n验证:一致性门禁 3 → 2(余 L9 compose 撞名、L12 内核 pin 落后,均有既定归属);\ntests/workspace-consistency.test.mjs 35/35;变更包就绪门禁与评审门禁 exit 0。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d991c449457408aed0e9b98accb23feffdcc3d92","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:22:29-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-workspace-consistency.mjs","平台治理/基础/新增基础应用MachineCatalog审批记录.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8525,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:22:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789687392
|
1789687407
|
0
|
1789687361
|
1789687407
|
|
|
0
|
Edit
Delete
|