|
23931
|
Merge pull request #24 from laoluojuhai/codex/ms3- Merge pull request #24 from laoluojuhai/codex/ms3-audit-receipt-integrity...
|
116
|
5
|
platform.yml
|
51
|
5
|
0
|
refs/heads/main
|
3308542265e6a301126e1135310b11fbcddd5c5d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"266864a62b9b7d0f35207f7c32691fc5a6789c73","after":"3308542265e6a301126e1135310b11fbcddd5c5d","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/266864a62b9b7d0f35207f7c32691fc5a6789c73...3308542265e6a301126e1135310b11fbcddd5c5d","commits":[{"id":"3308542265e6a301126e1135310b11fbcddd5c5d","message":"Merge pull request #24 from laoluojuhai/codex/ms3-audit-receipt-integrity\n\nfix(audit): 修复回执篡改漏检并整合撤权验收","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3308542265e6a301126e1135310b11fbcddd5c5d","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T18:03:34-07:00","added":[],"removed":[],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","docs/owner-matrix.md","governance/lib/mainline-evidence.mjs","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/mainline-acceptance.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","runtime/CLAUDE.md","runtime/modules/audit/src/persistence/audit-store.ts","runtime/modules/audit/test/negative/tamper.integration.ts","runtime/reports/agent-adapters.latest.json","runtime/reports/baseline.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/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","runtime/test/README.md","runtime/test/e2e/identity-profile.test.ts","runtime/test/e2e/revocation-sla.test.ts"]},{"id":"5162994aa3dcdae57fdc9322ca629dbb580178f2","message":"Merge remote-tracking branch 'github/main' into codex/ms3-audit-receipt-integrity\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5162994aa3dcdae57fdc9322ca629dbb580178f2","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-12T17:48:58-07:00","added":["docs/PF-07身份数据复制与切换记录-2026-09-12.md","governance/copy-identity.mjs","governance/lib/identity-copy.mjs","governance/test/identity-copy.test.mjs","reports/identity-copy.latest.json"],"removed":[],"modified":["package.json"]},{"id":"9ad709cdf47783dda39a1978bb37b9594d6c31cd","message":"chore(reports): verify integration with identity browser migration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9ad709cdf47783dda39a1978bb37b9594d6c31cd","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-12T17:34:25-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/migration-decs.latest.json","reports/module-imports.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"e4bf34312eb344a6a26a1ee7846d23020dc5b8ce","message":"Merge validated identity browser migration into milestone integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e4bf34312eb344a6a26a1ee7846d23020dc5b8ce","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-12T17:32:49-07:00","added":["docs/PF-07身份页面接入记录-2026-09-12.md","governance/check-identity-ui.mjs","reports/identity-ui.latest.json","runtime/apps/web/src/app/rp/callback/page.tsx","runtime/apps/web/src/app/t/[tenantSlug]/layout.tsx","runtime/apps/web/src/app/t/[tenantSlug]/login/hosted-login-form.tsx","runtime/apps/web/src/app/t/[tenantSlug]/login/page.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/authenticators/authenticator-self-service-panel.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/authenticators/page.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/consents/authorization-consents-panel.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/consents/page.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/sessions/page.tsx","runtime/apps/web/src/app/t/[tenantSlug]/security/sessions/session-self-service-panel.tsx","runtime/modules/identity/ui-source-relocation.json","runtime/test/playwright.identity.config.ts","runtime/test/ui/identity-fixture.mjs","runtime/test/ui/identity-profile.spec.ts","runtime/test/ui/identity-server.mjs"],"removed":[],"modified":[".github/workflows/platform.yml","README.md","governance/test/identity-source-relocation.test.mjs","identity/apps/web/next.config.ts","identity/apps/web/tsconfig.json","identity/reports/ui-acceptance.latest.json","package.json","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","runtime/apps/web/next.config.ts","runtime/apps/web/tsconfig.json","runtime/docs/domain/identity-blueprint.md","runtime/pnpm-lock.yaml","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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/test/package.json","stack/caddy/Caddyfile"]},{"id":"da67f684f13f559bff3a4e3c52ac9a0f76973dff","message":"chore(reports): verify identity recovery regression statically\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/da67f684f13f559bff3a4e3c52ac9a0f76973dff","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-12T17:29:54-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/migration-decs.latest.json","reports/module-imports.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/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":"3308542265e6a301126e1135310b11fbcddd5c5d","message":"Merge pull request #24 from laoluojuhai/codex/ms3-audit-receipt-integrity\n\nfix(audit): 修复回执篡改漏检并整合撤权验收","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3308542265e6a301126e1135310b11fbcddd5c5d","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T18:03:34-07:00","added":[],"removed":[],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","docs/owner-matrix.md","governance/lib/mainline-evidence.mjs","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/mainline-acceptance.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","runtime/CLAUDE.md","runtime/modules/audit/src/persistence/audit-store.ts","runtime/modules/audit/test/negative/tamper.integration.ts","runtime/reports/agent-adapters.latest.json","runtime/reports/baseline.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/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","runtime/test/README.md","runtime/test/e2e/identity-profile.test.ts","runtime/test/e2e/revocation-sla.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":8395,"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":12,"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-13T08:49: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
|
2
|
30
|
1789261436
|
1789261474
|
0
|
1789261435
|
1789261502
|
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
|
|
23954
|
chore(reports): 27/27 静态门禁在 clean HEAD 全链通过
|
76
|
5
|
platform-governance.yml
|
51
|
5
|
0
|
refs/heads/main
|
23d1b7ac7da6d8779bf29f8fabd126d9f7a15493
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"070b9440b579a7662952fe817638313fadcf01bd","after":"23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/070b9440b579a7662952fe817638313fadcf01bd...23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","commits":[{"id":"23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","message":"chore(reports): 27/27 静态门禁在 clean HEAD 全链通过\n\n首次跑完整条 check-all:27/27 步骤 exit 0,含此前因 fail-fast 从未执行到的\ncheck:governance、lint、typecheck 与末位的 check:platform-provenance。\n\n解锁点是 runtime-acceptance 转 passed(c9d2f3a 的 clean SHA 三级证据):\ncheck:docs-truth 的 governance-number-evidence-shape 要求 runtime/governance/baseline\n三份数字真源都 passed,此前它是 failed,把整条链卡在第 23 步。\n\ncheck:platform-provenance 作为末位步骤首次被执行到并通过——@juhai/* 四个解析来源\n全部落在 .npmrc 声明的 registry 下,0 违规 / 0 登记偏差。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","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-14T19:02:12-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","message":"chore(reports): 27/27 静态门禁在 clean HEAD 全链通过\n\n首次跑完整条 check-all:27/27 步骤 exit 0,含此前因 fail-fast 从未执行到的\ncheck:governance、lint、typecheck 与末位的 check:platform-provenance。\n\n解锁点是 runtime-acceptance 转 passed(c9d2f3a 的 clean SHA 三级证据):\ncheck:docs-truth 的 governance-number-evidence-shape 要求 runtime/governance/baseline\n三份数字真源都 passed,此前它是 failed,把整条链卡在第 23 步。\n\ncheck:platform-provenance 作为末位步骤首次被执行到并通过——@juhai/* 四个解析来源\n全部落在 .npmrc 声明的 registry 下,0 违规 / 0 登记偏差。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","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-14T19:02:12-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.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":85178,"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-15T10:02: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
|
2
|
8
|
1789438855
|
1789438908
|
0
|
1789438843
|
1789438939
|
|
|
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
|
|
23681
|
docs(release): record verified local r34 deploymen docs(release): record verified local r34 deployment...
|
57
|
5
|
governance.yml
|
52
|
5
|
0
|
refs/heads/main
|
970fa7473f72868f653e993ae7ef36dd91a065e8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98fd251e96c5617db061549b1a202dcfbe42dd6e","after":"970fa7473f72868f653e993ae7ef36dd91a065e8","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/98fd251e96c5617db061549b1a202dcfbe42dd6e...970fa7473f72868f653e993ae7ef36dd91a065e8","commits":[{"id":"970fa7473f72868f653e993ae7ef36dd91a065e8","message":"docs(release): record verified local r34 deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/970fa7473f72868f653e993ae7ef36dd91a065e8","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-08T04:36:16-07:00","added":["docs/releases/2026-09-08-r34.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-wan-face-recovery.md","docs/releases/current.md","reports/dependency-audit.latest.json","reports/inference-acceptance.latest.json","reports/production-acceptance.latest.json","reports/public-file-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"7eea9f1a754a816284743c5cced27b78562b6b1f","message":"test(video): align recovery case name with repository glossary\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7eea9f1a754a816284743c5cced27b78562b6b1f","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-08T04:23:00-07:00","added":[],"removed":[],"modified":["scripts/job-recovery.test.mjs"]},{"id":"c517c240c1e43b028e0283c1d7ca235587053979","message":"fix(video): place Chinese guidance inside the error panel\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/c517c240c1e43b028e0283c1d7ca235587053979","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-08T03:48:48-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/VideoJobFeedback.tsx","docs/governance/log/2026-09-08-wan-face-recovery.md"]},{"id":"ff418bffa70344bb4ce54a19addff1af61ff6636","message":"fix(video): prioritize Chinese failure guidance over raw errors\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ff418bffa70344bb4ce54a19addff1af61ff6636","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-08T03:46:41-07:00","added":["apps/web/src/components/material-factory/VideoJobFeedback.tsx"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/job-recovery.ts","docs/governance/log/2026-09-08-wan-face-recovery.md"]},{"id":"52d50a44ecbb682b5678c0f73b6ce52497366402","message":"fix(video): explain provider face review failures\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/52d50a44ecbb682b5678c0f73b6ce52497366402","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-08T03:26:25-07:00","added":["docs/governance/log/2026-09-08-wan-face-recovery.md"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/job-recovery.ts","scripts/job-recovery.test.mjs"]}],"total_commits":0,"head_commit":{"id":"970fa7473f72868f653e993ae7ef36dd91a065e8","message":"docs(release): record verified local r34 deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/970fa7473f72868f653e993ae7ef36dd91a065e8","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-08T04:36:16-07:00","added":["docs/releases/2026-09-08-r34.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-wan-face-recovery.md","docs/releases/current.md","reports/dependency-audit.latest.json","reports/inference-acceptance.latest.json","reports/production-acceptance.latest.json","reports/public-file-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":635287,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T15:01: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
|
2
|
4
|
1788867404
|
1788867495
|
0
|
1788867403
|
1788867495
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23938
|
chore(reports): rebind to 64914b9 and refresh the chore(reports): rebind to 64914b9 and refresh the foundation audit snapshot...
|
116
|
5
|
platform.yml
|
52
|
5
|
0
|
refs/heads/main
|
eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3308542265e6a301126e1135310b11fbcddd5c5d","after":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/3308542265e6a301126e1135310b11fbcddd5c5d...eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","commits":[{"id":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","message":"chore(reports): rebind to 64914b9 and refresh the foundation audit snapshot\n\nThe audit snapshot that the MS-4 exit condition cites had not been rerun\nsince 2026-09-05 -- before the decision meeting. It still reported 2 DECs\napproved and 30 pending against today's 32/0, and still raised\nFACT_DECISIONS_PENDING_OR_UNKNOWN, which that meeting resolved. Refreshed\nhere and in 基础/reports/基础目录统一审计.latest.json (the source copy,\noutside version control).\n\nStatus stays BLOCKED. Seven blockers persist, INVENTORY_INVALID is new\n(企业 IdP lacks 开发计划.md). Each is now attributed in plan deviation #32,\nwhich also records that the cited \"19/19\" denominator does not exist in\nthe report at all: it is 25 directories / 21 formal / 4 unregistered\ncandidates, with 20 of 21 formal entries document-complete.\n\nGate reports rebound to 64914b9 on a clean tree; `pnpm check` exits 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","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-13T21:26:55-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/foundation-audit-current.latest.json","reports/migration-decs.latest.json","reports/module-imports.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"64914b92b50df251607e0e4c3ece6b91a90d747e","message":"feat(governance): require migration-DEC exceptions to carry their own exit\n\nG-13. The exception file silences DECISION_HEADER_MISSING -- the gate\nbehind repo discipline 3 (\"authoritative-table migrations must cite an\napproved DEC\"). Nothing checked that an exception says why it exists, when\nit should go, or who recorded it, so a one-line entry could mute a real\nviolation and leave no trace. That is a back door, not an exception.\n\nEXCEPTION_INCOMPLETE now fails an exception missing any of migrations /\nreason / resolveBy / recordedAt, whitespace-only values included. The two\nreal entries (24 identity migrations awaiting PF-07 phase 2) already carry\nall four, so the live report is unchanged: 39 migrations, 0 violations,\n24 exceptions applied.\n\nEXCEPTION_STALE already forced removal once a migration gained a header;\nthe pair now covers both ends -- an exception cannot outlive its condition\nand cannot exist without stating one.\n\nLocal: governance 171 -\u003e 173, root `pnpm check` exit 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/64914b92b50df251607e0e4c3ece6b91a90d747e","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-13T21:25:08-07:00","added":[],"removed":[],"modified":["governance/check-migration-decs.mjs","governance/test/check-migration-decs.test.mjs"]},{"id":"cb504a5cbfc0795f42410402cc6fdccc17159f7a","message":"docs(contracts): register the G-12 linter change against the import source\n\nPF-04 phase 1 requires every divergence from platform-contracts/ to be\nrecorded in SOURCE.md, and corrects what the 2026-09-10 sync note said.\nThat note filed all six PLATFORM_PROJECT_UNREGISTERED findings under\n\"waiting for CHG-001\"; two of them were scan false positives that no\nchange request could ever clear. Four real candidate platforms remain.\n\nThe source directory itself stays untouched per phase 1, so the formal\ncheck behind 基础/scripts/audit-foundation.mjs still reports six until\nphase 2 removes the old copy.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/cb504a5cbfc0795f42410402cc6fdccc17159f7a","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-13T21:23:44-07:00","added":[],"removed":[],"modified":["contracts/SOURCE.md"]},{"id":"7adc31e54817d8d9b9f35a2fac25719aba53cbac","message":"chore(reports): rebind gate reports to ac3683d; fixtures now passed\n\nRegenerated on a clean tree; `pnpm check` exits 0 with 28/28 turbo tasks.\n\nfixtures moves from partial to passed: 8 suites / 89 cases / 0 failures /\n0 unavailable. The previous copy was produced in a detached worktree with\nno workspace ancestor, so the dec-039-party-model suite (workspaceRelative,\n25 cases) reported unavailable; in the main worktree it runs and passes.\nThe --allow-unavailable-suite flag stays -- a standalone CI clone still\ncannot see it.\n\nrelease-manifest stays partial on the same four deliverables.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/7adc31e54817d8d9b9f35a2fac25719aba53cbac","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-13T21:22:40-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/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"ac3683d122be41adf616c6a2223040a2578283f0","message":"fix(contracts): stop counting 基础/ tooling directories as unregistered platforms\n\nG-12. The platform-directory scan excluded only `scripts`, so `基础/reports`\nand `基础/tests` -- that directory's own tooling and output folders, added\nlater -- were reported as PLATFORM_PROJECT_UNREGISTERED. Two false\npositives sat mixed in with the four genuinely unregistered candidate\nplatforms, and they were invisible in CI because the whole check is\nskipped in a standalone clone (needsWorkspace).\n\nThey also masked a second defect. `E2 evidence files must contain a passed\nreport` pinned itself to enterprise-idp, whose evidence_level dropped to E0\nwhen the IdP source moved into identity/; the evidence check only runs at\nE2, so the injected fault could never be detected and the case failed on\nHEAD for anyone with the workspace checked out. The case now sets\nevidence_level itself instead of depending on catalog state.\n\nThe four real offenders (企业搜索 / 外部连接器 / 开发者自助 / 数据治理与隐私,\nall candidate-not-registered pending CHG) still report, and a new case\nasserts both halves: tooling directories must not report, real ones must.\n\nLocal: contracts check:local 100/101 -\u003e 101/101 (exit 0), governance\n171/171, root `pnpm check` exit 0 with 28/28 turbo tasks.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ac3683d122be41adf616c6a2223040a2578283f0","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-13T21:22:10-07:00","added":[],"removed":[],"modified":["contracts/scripts/governance-linter.mjs","contracts/test/governance-linter.test.mjs"]}],"total_commits":0,"head_commit":{"id":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","message":"chore(reports): rebind to 64914b9 and refresh the foundation audit snapshot\n\nThe audit snapshot that the MS-4 exit condition cites had not been rerun\nsince 2026-09-05 -- before the decision meeting. It still reported 2 DECs\napproved and 30 pending against today's 32/0, and still raised\nFACT_DECISIONS_PENDING_OR_UNKNOWN, which that meeting resolved. Refreshed\nhere and in 基础/reports/基础目录统一审计.latest.json (the source copy,\noutside version control).\n\nStatus stays BLOCKED. Seven blockers persist, INVENTORY_INVALID is new\n(企业 IdP lacks 开发计划.md). Each is now attributed in plan deviation #32,\nwhich also records that the cited \"19/19\" denominator does not exist in\nthe report at all: it is 25 directories / 21 formal / 4 unregistered\ncandidates, with 20 of 21 formal entries document-complete.\n\nGate reports rebound to 64914b9 on a clean tree; `pnpm check` exits 0.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","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-13T21:26:55-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/foundation-audit-current.latest.json","reports/migration-decs.latest.json","reports/module-imports.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/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":12998,"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":30,"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-14T12:01:44+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
|
1789360316
|
1789360357
|
0
|
1789360315
|
1789360403
|
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
|
|
23970
|
docs: 文档链接改为仓内相对路径,修复迁移后失效
|
76
|
5
|
governance.yml
|
52
|
5
|
0
|
refs/heads/main
|
c433d57b4aae2249bd19a085d1c520bf6baedf55
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","after":"c433d57b4aae2249bd19a085d1c520bf6baedf55","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/23d1b7ac7da6d8779bf29f8fabd126d9f7a15493...c433d57b4aae2249bd19a085d1c520bf6baedf55","commits":[{"id":"c433d57b4aae2249bd19a085d1c520bf6baedf55","message":"docs: 文档链接改为仓内相对路径,修复迁移后失效\n\n2026-09-14 应用群迁入新根 企业AI应用开发群/,本仓路径由\n企业产品/企业/企业应用/基础/AI数字员工/ 变为 数字员工OS/。\n\n- development-blueprint-2026-09-04.md:33 处链接写的是旧根绝对路径\n (/Users/hillao/AI产品/企业产品/企业/基础/AI数字员工/digital-employee-os/…),\n 迁移后全部失效。改为仓内相对路径 ../../,行号锚点保留;\n 逐条校验替换后的目标文件均存在。相对路径也让链接不再受未来目录调整影响\n- employment-projection-blueprint.md:上位文档引用 基础/AI数字员工/开发计划.md\n 改为 数字员工OS/开发计划.md\n\ndocs/operations/local-restart-2026-09-13.md 里的旧路径是当时的运维记述,\n属历史事实,保留未改。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c433d57b4aae2249bd19a085d1c520bf6baedf55","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-14T22:20:56-07:00","added":[],"removed":[],"modified":["docs/domain/employment-projection-blueprint.md","docs/planning/development-blueprint-2026-09-04.md"]}],"total_commits":0,"head_commit":{"id":"c433d57b4aae2249bd19a085d1c520bf6baedf55","message":"docs: 文档链接改为仓内相对路径,修复迁移后失效\n\n2026-09-14 应用群迁入新根 企业AI应用开发群/,本仓路径由\n企业产品/企业/企业应用/基础/AI数字员工/ 变为 数字员工OS/。\n\n- development-blueprint-2026-09-04.md:33 处链接写的是旧根绝对路径\n (/Users/hillao/AI产品/企业产品/企业/基础/AI数字员工/digital-employee-os/…),\n 迁移后全部失效。改为仓内相对路径 ../../,行号锚点保留;\n 逐条校验替换后的目标文件均存在。相对路径也让链接不再受未来目录调整影响\n- employment-projection-blueprint.md:上位文档引用 基础/AI数字员工/开发计划.md\n 改为 数字员工OS/开发计划.md\n\ndocs/operations/local-restart-2026-09-13.md 里的旧路径是当时的运维记述,\n属历史事实,保留未改。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c433d57b4aae2249bd19a085d1c520bf6baedf55","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-14T22:20:56-07:00","added":[],"removed":[],"modified":["docs/domain/employment-projection-blueprint.md","docs/planning/development-blueprint-2026-09-04.md"]},"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":85178,"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-15T10:20: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
|
2
|
36
|
1789452408
|
1789452418
|
0
|
1789451260
|
1789452453
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
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
|
|
23682
|
feat(templates): add image types and creation size feat(templates): add image types and creation size controls...
|
57
|
5
|
governance.yml
|
53
|
5
|
0
|
refs/heads/main
|
fe53f25fbb583de84d78384a6702aabad7b8671a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"970fa7473f72868f653e993ae7ef36dd91a065e8","after":"fe53f25fbb583de84d78384a6702aabad7b8671a","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/970fa7473f72868f653e993ae7ef36dd91a065e8...fe53f25fbb583de84d78384a6702aabad7b8671a","commits":[{"id":"fe53f25fbb583de84d78384a6702aabad7b8671a","message":"feat(templates): add image types and creation size controls\n\nPreserve legacy categories, resize template backgrounds and editable regions together, and add real API/browser regression coverage. Record the completed review and source-bound acceptance evidence.\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/fe53f25fbb583de84d78384a6702aabad7b8671a","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-08T04:59:57-07:00","added":["apps/api-fastify/prisma/migrations/20260908010000_template_image_types/migration.sql","apps/api-fastify/test/template-image-types.integration.test.ts","apps/api-nestjs/prisma/migrations/20260908010000_template_image_types/migration.sql","apps/api-nestjs/test/template-image-types.integration.test.ts","docs/governance/log/2026-09-08-all-pending-review.md","packages/contracts/src/template-image-types.test.ts","reports/template-types.desktop.png","reports/template-types.mobile.png","scripts/lib/template-types-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-nestjs/prisma/schema.prisma","apps/web/src/components/material-factory/NewTemplateButton.tsx","apps/web/src/components/material-factory/TemplateSizePicker.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/template-size-variant.ts","apps/web/src/lib/material-size.ts","packages/contracts/src/material.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/migration-history.json"]},{"id":"93b2cfa367818d442e1646e7a4fc8a4cf962da4c","message":"docs(review): archive project analysis with versioned evidence\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/93b2cfa367818d442e1646e7a4fc8a4cf962da4c","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-08T04:59:29-07:00","added":["docs/governance/log/2026-09-07-project-deep-analysis.md","reports/project-deep-analysis-2026-07-06.md","reports/project-deep-analysis-2026-09-07.md","reports/project-deep-analysis-2026-09-07/README.md","reports/project-deep-analysis-2026-09-07/heavy-gates/dependency-audit.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/governance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/inference-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/pass1-summary.txt","reports/project-deep-analysis-2026-09-07/heavy-gates/pass2-summary.txt","reports/project-deep-analysis-2026-09-07/heavy-gates/pass3-summary.txt","reports/project-deep-analysis-2026-09-07/heavy-gates/pass4-summary.txt","reports/project-deep-analysis-2026-09-07/heavy-gates/production-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/public-file-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/runtime-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/script-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/heavy-gates/sidecar-health.json","reports/project-deep-analysis-2026-09-07/heavy-gates/ui-acceptance.latest.json","reports/project-deep-analysis-2026-09-07/production-queue-readonly-20260908.txt","reports/project-deep-analysis-2026-09-07/verify-r33-20260908T0548Z.json"],"removed":[],"modified":["docs/development-experience/README.md","docs/development-experience/evidence.md","reports/project-deep-analysis.latest.md"]}],"total_commits":0,"head_commit":{"id":"fe53f25fbb583de84d78384a6702aabad7b8671a","message":"feat(templates): add image types and creation size controls\n\nPreserve legacy categories, resize template backgrounds and editable regions together, and add real API/browser regression coverage. Record the completed review and source-bound acceptance evidence.\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/fe53f25fbb583de84d78384a6702aabad7b8671a","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-08T04:59:57-07:00","added":["apps/api-fastify/prisma/migrations/20260908010000_template_image_types/migration.sql","apps/api-fastify/test/template-image-types.integration.test.ts","apps/api-nestjs/prisma/migrations/20260908010000_template_image_types/migration.sql","apps/api-nestjs/test/template-image-types.integration.test.ts","docs/governance/log/2026-09-08-all-pending-review.md","packages/contracts/src/template-image-types.test.ts","reports/template-types.desktop.png","reports/template-types.mobile.png","scripts/lib/template-types-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-nestjs/prisma/schema.prisma","apps/web/src/components/material-factory/NewTemplateButton.tsx","apps/web/src/components/material-factory/TemplateSizePicker.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/template-size-variant.ts","apps/web/src/lib/material-size.ts","packages/contracts/src/material.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/migration-history.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":635454,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T19:36: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
|
2
|
4
|
1788868949
|
1788868989
|
0
|
1788868949
|
1788868989
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23939
|
docs(ci): correct the claim that switching channel docs(ci): correct the claim that switching channels needs a DEC revision...
|
116
|
5
|
platform.yml
|
53
|
5
|
0
|
refs/heads/main
|
6d3900abae6fc251b39e4bebcaa74190e25774bb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f","after":"6d3900abae6fc251b39e4bebcaa74190e25774bb","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/eb3cf2c38148bfc0dac9ab1e8cdd5733ae8aa13f...6d3900abae6fc251b39e4bebcaa74190e25774bb","commits":[{"id":"6d3900abae6fc251b39e4bebcaa74190e25774bb","message":"docs(ci): correct the claim that switching channels needs a DEC revision\n\nThe README (and the plan) said changing the release gate to accept Gitea\nevidence \"extends what DEC-031 accepts as CI evidence, needs a CHG\". That\nis wrong. DEC-031's approval record, its accompanying clauses, DEC-010's\ncondition and design §13 all state capabilities -- clean tag, CI green,\nthree-tier evidence on one SHA, required checks, enforcement over admins,\nCODEOWNERS, linear history, runner=ci -- and never name a CI vendor. The\nonly GitHub mention is §23 listing .github/ under SRE ownership.\n\nSo switching the primary channel is an implementation and repository\nconfiguration change plus a platform-owner call on which channel is\nprimary; no DEC revision, no CHG. Evidence, three options, a file-level\nchange list (CI-1..6) and four items that must be verified first (V-2:\nwhether Gitea can enforce protection over admins) are in\n基础设施/docs/CI验证通道口径裁决材料-2026-09-13.md.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6d3900abae6fc251b39e4bebcaa74190e25774bb","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-13T21:42:24-07:00","added":[],"removed":[],"modified":["stack/ci/act-runner/README.md"]}],"total_commits":0,"head_commit":{"id":"6d3900abae6fc251b39e4bebcaa74190e25774bb","message":"docs(ci): correct the claim that switching channels needs a DEC revision\n\nThe README (and the plan) said changing the release gate to accept Gitea\nevidence \"extends what DEC-031 accepts as CI evidence, needs a CHG\". That\nis wrong. DEC-031's approval record, its accompanying clauses, DEC-010's\ncondition and design §13 all state capabilities -- clean tag, CI green,\nthree-tier evidence on one SHA, required checks, enforcement over admins,\nCODEOWNERS, linear history, runner=ci -- and never name a CI vendor. The\nonly GitHub mention is §23 listing .github/ under SRE ownership.\n\nSo switching the primary channel is an implementation and repository\nconfiguration change plus a platform-owner call on which channel is\nprimary; no DEC revision, no CHG. Evidence, three options, a file-level\nchange list (CI-1..6) and four items that must be verified first (V-2:\nwhether Gitea can enforce protection over admins) are in\n基础设施/docs/CI验证通道口径裁决材料-2026-09-13.md.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6d3900abae6fc251b39e4bebcaa74190e25774bb","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-13T21:42:24-07:00","added":[],"removed":[],"modified":["stack/ci/act-runner/README.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":13154,"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":30,"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-14T12:31: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
|
2
|
30
|
1789360955
|
1789360993
|
0
|
1789360955
|
1789361027
|
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
|
|
23971
|
docs: 文档链接改为仓内相对路径,修复迁移后失效
|
76
|
5
|
platform-governance.yml
|
53
|
5
|
0
|
refs/heads/main
|
c433d57b4aae2249bd19a085d1c520bf6baedf55
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"23d1b7ac7da6d8779bf29f8fabd126d9f7a15493","after":"c433d57b4aae2249bd19a085d1c520bf6baedf55","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/23d1b7ac7da6d8779bf29f8fabd126d9f7a15493...c433d57b4aae2249bd19a085d1c520bf6baedf55","commits":[{"id":"c433d57b4aae2249bd19a085d1c520bf6baedf55","message":"docs: 文档链接改为仓内相对路径,修复迁移后失效\n\n2026-09-14 应用群迁入新根 企业AI应用开发群/,本仓路径由\n企业产品/企业/企业应用/基础/AI数字员工/ 变为 数字员工OS/。\n\n- development-blueprint-2026-09-04.md:33 处链接写的是旧根绝对路径\n (/Users/hillao/AI产品/企业产品/企业/基础/AI数字员工/digital-employee-os/…),\n 迁移后全部失效。改为仓内相对路径 ../../,行号锚点保留;\n 逐条校验替换后的目标文件均存在。相对路径也让链接不再受未来目录调整影响\n- employment-projection-blueprint.md:上位文档引用 基础/AI数字员工/开发计划.md\n 改为 数字员工OS/开发计划.md\n\ndocs/operations/local-restart-2026-09-13.md 里的旧路径是当时的运维记述,\n属历史事实,保留未改。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c433d57b4aae2249bd19a085d1c520bf6baedf55","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-14T22:20:56-07:00","added":[],"removed":[],"modified":["docs/domain/employment-projection-blueprint.md","docs/planning/development-blueprint-2026-09-04.md"]}],"total_commits":0,"head_commit":{"id":"c433d57b4aae2249bd19a085d1c520bf6baedf55","message":"docs: 文档链接改为仓内相对路径,修复迁移后失效\n\n2026-09-14 应用群迁入新根 企业AI应用开发群/,本仓路径由\n企业产品/企业/企业应用/基础/AI数字员工/ 变为 数字员工OS/。\n\n- development-blueprint-2026-09-04.md:33 处链接写的是旧根绝对路径\n (/Users/hillao/AI产品/企业产品/企业/基础/AI数字员工/digital-employee-os/…),\n 迁移后全部失效。改为仓内相对路径 ../../,行号锚点保留;\n 逐条校验替换后的目标文件均存在。相对路径也让链接不再受未来目录调整影响\n- employment-projection-blueprint.md:上位文档引用 基础/AI数字员工/开发计划.md\n 改为 数字员工OS/开发计划.md\n\ndocs/operations/local-restart-2026-09-13.md 里的旧路径是当时的运维记述,\n属历史事实,保留未改。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c433d57b4aae2249bd19a085d1c520bf6baedf55","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-14T22:20:56-07:00","added":[],"removed":[],"modified":["docs/domain/employment-projection-blueprint.md","docs/planning/development-blueprint-2026-09-04.md"]},"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":85178,"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-15T10:20: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
|
2
|
8
|
1789452418
|
1789452429
|
0
|
1789451260
|
1789452453
|
|
|
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
|
|
23683
|
docs(release): record r35 template migration and d docs(release): record r35 template migration and deployment...
|
57
|
5
|
governance.yml
|
54
|
5
|
0
|
refs/heads/main
|
76e0102fa0e1ce28669fb1f02a13782aebab8c95
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fe53f25fbb583de84d78384a6702aabad7b8671a","after":"76e0102fa0e1ce28669fb1f02a13782aebab8c95","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/fe53f25fbb583de84d78384a6702aabad7b8671a...76e0102fa0e1ce28669fb1f02a13782aebab8c95","commits":[{"id":"76e0102fa0e1ce28669fb1f02a13782aebab8c95","message":"docs(release): record r35 template migration and deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/76e0102fa0e1ce28669fb1f02a13782aebab8c95","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-08T05:10:52-07:00","added":["docs/releases/2026-09-08-r35-migration-plan.md","docs/releases/2026-09-08-r35.md"],"removed":[],"modified":["CLAUDE.md","docs/deploy-vm.md","docs/governance/log/2026-09-08-all-pending-review.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"76e0102fa0e1ce28669fb1f02a13782aebab8c95","message":"docs(release): record r35 template migration and deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/76e0102fa0e1ce28669fb1f02a13782aebab8c95","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-08T05:10:52-07:00","added":["docs/releases/2026-09-08-r35-migration-plan.md","docs/releases/2026-09-08-r35.md"],"removed":[],"modified":["CLAUDE.md","docs/deploy-vm.md","docs/governance/log/2026-09-08-all-pending-review.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636145,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T20:02:29+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
|
1788869465
|
1788869503
|
0
|
1788869464
|
1788869503
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23941
|
feat(governance): G-12 local release bypass, used feat(governance): G-12 local release bypass, used once for the rc.2 train...
|
116
|
5
|
platform.yml
|
54
|
5
|
0
|
refs/heads/main
|
d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d3900abae6fc251b39e4bebcaa74190e25774bb","after":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6d3900abae6fc251b39e4bebcaa74190e25774bb...d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","commits":[{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","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-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]}],"total_commits":0,"head_commit":{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","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-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]},"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":13159,"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":30,"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-14T12:42:35+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
|
1789362254
|
1789362293
|
0
|
1789362252
|
1789362321
|
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
|
|
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
|
|
23684
|
fix(production): restore creation, review previews fix(production): restore creation, review previews and safe delivery release...
|
57
|
5
|
governance.yml
|
55
|
5
|
0
|
refs/heads/main
|
23eca930934fb24d26a4266c1c4dc131f3259362
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"76e0102fa0e1ce28669fb1f02a13782aebab8c95","after":"23eca930934fb24d26a4266c1c4dc131f3259362","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/76e0102fa0e1ce28669fb1f02a13782aebab8c95...23eca930934fb24d26a4266c1c4dc131f3259362","commits":[{"id":"23eca930934fb24d26a4266c1c4dc131f3259362","message":"fix(production): restore creation, review previews and safe delivery release\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/23eca930934fb24d26a4266c1c4dc131f3259362","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-08T05:49:07-07:00","added":["docs/governance/log/2026-09-08-production-review-delivery-repair.md","scripts/lib/production-review-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/material-production.integration.test.ts","apps/api-fastify/test/production-adversarial-http.integration.test.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/material-production.integration.test.ts","apps/api-nestjs/test/production-adversarial-http.integration.test.ts","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/asset-preview.ts","apps/web/src/components/material-factory/production-actors.ts","docs/browser-enterprise-login.md","packages/contracts/src/material-access.test.ts","packages/contracts/src/material-access.ts","packages/contracts/src/production.test.ts","packages/contracts/src/production.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-review-delivery-2026-09-08/README.md","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},{"id":"17500461ad2cd1a426ef39bc9ac45716029df006","message":"docs(audit): record production review and delivery acceptance gaps\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/17500461ad2cd1a426ef39bc9ac45716029df006","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-08T05:28:09-07:00","added":["docs/governance/log/2026-09-08-production-review-delivery-audit.md","reports/production-review-delivery-2026-09-08/README.md"],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"23eca930934fb24d26a4266c1c4dc131f3259362","message":"fix(production): restore creation, review previews and safe delivery release\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/23eca930934fb24d26a4266c1c4dc131f3259362","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-08T05:49:07-07:00","added":["docs/governance/log/2026-09-08-production-review-delivery-repair.md","scripts/lib/production-review-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/material-production.integration.test.ts","apps/api-fastify/test/production-adversarial-http.integration.test.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/material-production.integration.test.ts","apps/api-nestjs/test/production-adversarial-http.integration.test.ts","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/asset-preview.ts","apps/web/src/components/material-factory/production-actors.ts","docs/browser-enterprise-login.md","packages/contracts/src/material-access.test.ts","packages/contracts/src/material-access.ts","packages/contracts/src/production.test.ts","packages/contracts/src/production.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-review-delivery-2026-09-08/README.md","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636186,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T20:11: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
|
2
|
4
|
1788871773
|
1788872807
|
0
|
1788871772
|
1788872807
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23948
|
chore(reports): bind the ai-gateway first-start ev chore(reports): bind the ai-gateway first-start evidence @ 51351b3...
|
116
|
5
|
platform.yml
|
55
|
5
|
0
|
refs/heads/main
|
9807535a2b81bc14a35ffc306d7b1b0910f0f99f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","after":"9807535a2b81bc14a35ffc306d7b1b0910f0f99f","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba...9807535a2b81bc14a35ffc306d7b1b0910f0f99f","commits":[{"id":"9807535a2b81bc14a35ffc306d7b1b0910f0f99f","message":"chore(reports): bind the ai-gateway first-start evidence @ 51351b3\n\nliveliness / readiness 200(db: Not connected)、带 master key 的 /v1/models\n200 返回 platform-default-chat、无 key 401 / 错 key 400;/v1/chat/completions\n401 是供应商侧 replace-me,链路本身通。干净树绑 51351b3。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9807535a2b81bc14a35ffc306d7b1b0910f0f99f","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-14T10:10:43-07:00","added":["stack/reports/ai-gateway-up.2026-09-14.json"],"removed":[],"modified":[]},{"id":"51351b3b0af2fc485c59fbddc4e1ade821c38f6a","message":"fix(stack): stop injecting an empty DATABASE_URL into ai-gateway\n\nLiteLLM 见到空串即以 \"unsupported scheme '\u003cmissing scheme\u003e'\" 退出,而\n`DATABASE_URL: ${LITELLM_DATABASE_URL:-}` 在变量未设时注入的正是空串。\n这个定义从 2026-09-11 写下起就没被验证过——stack-up 记录里 ai-gateway\n一直是\"未起\",所以缺陷一直没暴露。\n\n- compose.yaml:ai-gateway 不再声明 DATABASE_URL(无 DB 模式)。\n- overlays/ai-gateway-db.yaml:要 DB 模式改为显式叠加,且 LITELLM_DATABASE_URL\n 必填;注释写明不得指向 platform_aigateway_*(M7 权威库)。\n- stack/README:镜像行改为 digest 实况,litellm tag 已首次 pull 核实;\n 两处\"ai-gateway 未起\"改为 12 服务全跑。\n- CLAUDE.md stack 行补 2026-09-14 增量,只引机器证据。\n\n本轮只动 D-7 采纳组件,未动 M7 模块(仍 state=shape / blocked_by DEC-007)。\n供应商密钥仍是 replace-me,真实模型调用返回供应商 401,已在记录里写明。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/51351b3b0af2fc485c59fbddc4e1ade821c38f6a","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-14T10:06:42-07:00","added":["stack/overlays/ai-gateway-db.yaml"],"removed":[],"modified":["CLAUDE.md","docs/B-7-dev常驻运行时启动记录-2026-09-14.md","stack/README.md","stack/compose.yaml"]},{"id":"92a5a9fdd1468c29a4aed90328034e02d39ac9d3","message":"chore(reports): bind the B-7 resident-runtime evidence @ 092df0e\n\n七 profile 装载、内核与七个模块 /health 全 200、无凭证决策端点 401、经 Caddy\n入口 200;容器 restart unless-stopped、healthy。provenance 干净树绑 092df0e。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/92a5a9fdd1468c29a4aed90328034e02d39ac9d3","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-14T10:10:32-07:00","added":["stack/reports/runtime-up.2026-09-14.json"],"removed":[],"modified":[]},{"id":"092df0eefc510ce4a0f4f39400f1193c66ad6d8f","message":"feat(stack): run the platform runtime as a resident dev container (B-7)\n\n核实报告的 B-7 记「没有可被 HR / OS 调用的地址」:compose 的 runtime 一直是\n候选注释块,七个 platform_\u003cm\u003e_dev 库建了但零张表。本次启用该服务并把它跑起来。\n\n- compose.yaml:启用 runtime,镜像改 ${PLATFORM_RUNTIME_IMAGE:?};补上原模板\n 缺的七个 DATABASE_URL_\u003cMODULE\u003e——模板写于一模块一库之前,只有内核三个 URL,\n 按原样启用四个 authority 模块会连不上自己的库。\n- overlays/dev.yaml:restart unless-stopped + 回环 53001。\n- provision/redis-dbs.json:登记逻辑库 14(七 profile 同进程只能独占一个)。\n- runbook §2 / stack README:dev 常驻形态与起停命令。\n\n供给与验收留在 docs/B-7-dev常驻运行时启动记录-2026-09-14.md;环境变量文件在\n仓外 .secrets/,不入 git。ai-gateway 容器因 ghcr 拉取经本机代理被 reset 未起,\n已在记录里写明,不冒充全量。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/092df0eefc510ce4a0f4f39400f1193c66ad6d8f","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-14T09:51:41-07:00","added":["docs/B-7-dev常驻运行时启动记录-2026-09-14.md"],"removed":[],"modified":["docs/runbook.md","stack/README.md","stack/compose.yaml","stack/overlays/dev.yaml","stack/provision/redis-dbs.json"]},{"id":"036a308f27acf35a46f068c96fea7723ef74d05e","message":"feat(client-fact): U-29 判落后版本为 STALE,不再当毒消息\n\n真实消费者接入(digital-employee-os 的 os-employment-projection)暴露:applyOne 在\nversion \u003c= watermark 时抛 FactRejected(\"UNPROCESSED_VERSION_BEHIND_WATERMARK\"),\n而 handle 把任何 FactRejected 计入 attempts——至少一次投递下的**正常迟到重投**三次即\n被打进死信,与\"内容有毒\"共用一套判据;类型里写着的 \"STALE\" 返回值反而不可达。\n平台自己的主线 e2e 用合成宿主表,从不重放已过水位的事实,因此一直照不出这条。\n\n改为返回 \"STALE\",并顺手删掉该 fact 可能留在 gap 缓冲里的副本:落后事实永远等不到\nprevious_version = 水位,留着只会把缓冲占满到 GAP_BUFFER_FULL,drain 循环也会空转。\n\n证据:runtime/test/e2e/mainline.test.ts 新增断言——清掉 processed 行后重放旧事实,\n连判三次 STALE、platform_client_fact_failure 无行、投影仍停在 11;该文件 6/6 通过\n(真实 M3/M5/M6 库 + Redpanda,MAINLINE_ENV=ms23)。治理负向回归 173/173、\ncheck:pins 34 个 package.json 全 exact pin、根 pnpm check 全链通过。\n\n发布列车三件套同步升到 1.0.0-rc.3,**尚未发布**:rc.2 已在 Registry 且不可覆盖,\n上层在 rc.3 发布前继续 pin rc.2 并在边界做错误码翻译。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/036a308f27acf35a46f068c96fea7723ef74d05e","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-13T22:10:52-07:00","added":[],"removed":[],"modified":["contracts/package.json","governance/package.json","runtime/clients/README.md","runtime/clients/fact/package.json","runtime/clients/fact/src/index.ts","runtime/test/e2e/mainline.test.ts"]}],"total_commits":0,"head_commit":{"id":"9807535a2b81bc14a35ffc306d7b1b0910f0f99f","message":"chore(reports): bind the ai-gateway first-start evidence @ 51351b3\n\nliveliness / readiness 200(db: Not connected)、带 master key 的 /v1/models\n200 返回 platform-default-chat、无 key 401 / 错 key 400;/v1/chat/completions\n401 是供应商侧 replace-me,链路本身通。干净树绑 51351b3。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9807535a2b81bc14a35ffc306d7b1b0910f0f99f","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-14T10:10:43-07:00","added":["stack/reports/ai-gateway-up.2026-09-14.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":13223,"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":31,"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-14T21:52:50+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
|
1789406418
|
1789407363
|
0
|
1789405885
|
1789407463
|
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
|
|
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
|
|
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
|
|
23685
|
docs(release): record r37 production review repair docs(release): record r37 production review repair deployment...
|
57
|
5
|
governance.yml
|
56
|
5
|
0
|
refs/heads/main
|
8bfdc08eb824fb14e855dcd688d061e7f645a8a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"23eca930934fb24d26a4266c1c4dc131f3259362","after":"8bfdc08eb824fb14e855dcd688d061e7f645a8a9","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/23eca930934fb24d26a4266c1c4dc131f3259362...8bfdc08eb824fb14e855dcd688d061e7f645a8a9","commits":[{"id":"8bfdc08eb824fb14e855dcd688d061e7f645a8a9","message":"docs(release): record r37 production review repair deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8bfdc08eb824fb14e855dcd688d061e7f645a8a9","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-08T06:08:11-07:00","added":["docs/releases/2026-09-08-r37.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-review-delivery-repair.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"8bfdc08eb824fb14e855dcd688d061e7f645a8a9","message":"docs(release): record r37 production review repair deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8bfdc08eb824fb14e855dcd688d061e7f645a8a9","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-08T06:08:11-07:00","added":["docs/releases/2026-09-08-r37.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-review-delivery-repair.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636419,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T20:49:32+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
|
1788872920
|
1788872958
|
0
|
1788872918
|
1788872958
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23952
|
chore(reports): bind check:evidence baseline @ 5f0 chore(reports): bind check:evidence baseline @ 5f0473b...
|
116
|
5
|
platform.yml
|
56
|
5
|
0
|
refs/heads/main
|
35e44a1d97cad7b20404416743167de2aa15c277
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9807535a2b81bc14a35ffc306d7b1b0910f0f99f","after":"35e44a1d97cad7b20404416743167de2aa15c277","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/9807535a2b81bc14a35ffc306d7b1b0910f0f99f...35e44a1d97cad7b20404416743167de2aa15c277","commits":[{"id":"35e44a1d97cad7b20404416743167de2aa15c277","message":"chore(reports): bind check:evidence baseline @ 5f0473b\n\n13 份已登记报告新鲜,5 条 warn(port-conformance、runtime/ui 验收、\nrevocation-sla、mainline-acceptance —— 都是需要真实库/容器才能重跑的,\n已在 evidence-scopes.json 写明 promoteBy),32 份未登记只计 info。\nmodule-imports 顺带在干净树重跑回绑(315 文件 0 违规)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/35e44a1d97cad7b20404416743167de2aa15c277","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-14T10:37:16-07:00","added":["reports/evidence-freshness.latest.json"],"removed":[],"modified":["reports/module-imports.latest.json"]},{"id":"5f0473b6d7bf2089d3715c6f637320d6d96ac862","message":"feat(governance): gate machine-evidence freshness by scope, not commit distance\n\n仓纪律 5 只要求报告绑 gitSha + worktreeDirty=false,没有任何检查关心那个 SHA\n相对 HEAD 是否已经过期;runtime 的 check:docs-truth 断言 N 也只比对「文档声明的\nSHA == 报告 provenance 的 SHA」。于是 CLAUDE.md 的「当前状态」可以逐字引用一份\n早被后续提交推翻的报告,而全链门禁一片绿。\n\n2026-09-14 实锤:main 上 stack-image-pins.latest.json 绑 7e279c5,其后\nstack/compose.yaml 已被改(ai-gateway 去掉空 DATABASE_URL),那份「12 镜像\n0 未锁」的结论形式上已失效,无人察觉。\n\n判据特意不用「落后几个提交」——实测那样会误报 38 条(runtime 验收落后 32 个\n提交,作用域却一行没动)。判据是:绑定 SHA → HEAD 之间有没有改到该报告自己\n覆盖的文件,作用域逐条登记在 governance/evidence-scopes.json。\n\n- severity 逐条登记:静态检查 error,需真实库/容器重跑的验收先 warn 并写\n promoteBy,覆盖面与严格度都按登记涨,不搞一刀切。\n- 脏绑报告在干净树上判红(说明脏绑被提交了),在脏树上只 warn(改到一半)。\n- 例外须带 reason/recordedAt/resolveBy(G-13),失效判 EXCEPTION_STALE。\n- 未登记的报告只计 SCOPE_UNDECLARED(info),不判红。\n\n10 个用例,含一个真实 git 仓集成用例钉住核心判据:作用域外连改三个提交仍绿,\n作用域内一改即红。放在根 check 链尾。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5f0473b6d7bf2089d3715c6f637320d6d96ac862","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-14T10:36:33-07:00","added":["governance/check-evidence-freshness.mjs","governance/evidence-scopes.json","governance/test/check-evidence-freshness.test.mjs"],"removed":[],"modified":["governance/README.md","governance/bin/cli.mjs","governance/package.json","package.json"]}],"total_commits":0,"head_commit":{"id":"35e44a1d97cad7b20404416743167de2aa15c277","message":"chore(reports): bind check:evidence baseline @ 5f0473b\n\n13 份已登记报告新鲜,5 条 warn(port-conformance、runtime/ui 验收、\nrevocation-sla、mainline-acceptance —— 都是需要真实库/容器才能重跑的,\n已在 evidence-scopes.json 写明 promoteBy),32 份未登记只计 info。\nmodule-imports 顺带在干净树重跑回绑(315 文件 0 违规)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/35e44a1d97cad7b20404416743167de2aa15c277","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-14T10:37:16-07:00","added":["reports/evidence-freshness.latest.json"],"removed":[],"modified":["reports/module-imports.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":13286,"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":31,"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-15T01:11: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
|
2
|
30
|
1789408337
|
1789408458
|
0
|
1789408337
|
1789408561
|
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
|
|
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
|
|
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
|
|
23686
|
feat(production): add audited delivery revocation feat(production): add audited delivery revocation and bounded entity feeds...
|
57
|
5
|
governance.yml
|
57
|
5
|
0
|
refs/heads/main
|
4bd818ff3707544c3cab263ef0f8e78fbb2bbed4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8bfdc08eb824fb14e855dcd688d061e7f645a8a9","after":"4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/8bfdc08eb824fb14e855dcd688d061e7f645a8a9...4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","commits":[{"id":"4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","message":"feat(production): add audited delivery revocation and bounded entity feeds\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","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-08T07:03:40-07:00","added":["apps/api-fastify/src/modules/material-production/production-page.ts","apps/api-fastify/test/production-pagination.integration.test.ts","apps/api-nestjs/src/material-production/production-page.ts","apps/api-nestjs/test/production-pagination.integration.test.ts","apps/web/src/components/material-factory/ProductionPagination.tsx","apps/web/src/components/material-factory/RevokeDelivery.tsx","docs/governance/log/2026-09-08-production-access-pagination.md","scripts/lib/production-pagination-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/production-adversarial-http.integration.test.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/production-adversarial-http.integration.test.ts","apps/web/src/components/material-factory/ActivityLog.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/WorkspaceHome.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/lib/api.ts","docs/browser-enterprise-login.md","packages/contracts/src/production.ts","packages/enterprise-identity/src/browser-session.test.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/lib/production-review-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","message":"feat(production): add audited delivery revocation and bounded entity feeds\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","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-08T07:03:40-07:00","added":["apps/api-fastify/src/modules/material-production/production-page.ts","apps/api-fastify/test/production-pagination.integration.test.ts","apps/api-nestjs/src/material-production/production-page.ts","apps/api-nestjs/test/production-pagination.integration.test.ts","apps/web/src/components/material-factory/ProductionPagination.tsx","apps/web/src/components/material-factory/RevokeDelivery.tsx","docs/governance/log/2026-09-08-production-access-pagination.md","scripts/lib/production-pagination-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/production-adversarial-http.integration.test.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/production-adversarial-http.integration.test.ts","apps/web/src/components/material-factory/ActivityLog.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/WorkspaceHome.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/lib/api.ts","docs/browser-enterprise-login.md","packages/contracts/src/production.ts","packages/enterprise-identity/src/browser-session.test.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/lib/production-review-ui-acceptance.mjs"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636455,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T21:08:38+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
|
1788876262
|
1788876352
|
0
|
1788876261
|
1788876352
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23955
|
chore(reports): rebind after merging main into the chore(reports): rebind after merging main into the U-31/33/34 branch...
|
116
|
5
|
platform.yml
|
57
|
5
|
0
|
refs/heads/main
|
727044996fde65045ab4ca56a060c0a32fa24c0a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"35e44a1d97cad7b20404416743167de2aa15c277","after":"727044996fde65045ab4ca56a060c0a32fa24c0a","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/35e44a1d97cad7b20404416743167de2aa15c277...727044996fde65045ab4ca56a060c0a32fa24c0a","commits":[{"id":"727044996fde65045ab4ca56a060c0a32fa24c0a","message":"chore(reports): rebind after merging main into the U-31/33/34 branch\n\n合并 main(6 个提交)后重跑根 pnpm check:exit 0,31 项。\nmodule-imports 报告的合并冲突按「报告是运行产物」取 main 版本后由本轮重新生成。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/727044996fde65045ab4ca56a060c0a32fa24c0a","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-14T19:21: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","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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"9a7231221ba190a84f91f1f2771017927d991328","message":"Merge branch 'main' into feat/u31-u33-u34-consumer-feedback\n\n# Conflicts:\n#\treports/module-imports.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9a7231221ba190a84f91f1f2771017927d991328","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-14T19:21:34-07:00","added":["docs/B-7-dev常驻运行时启动记录-2026-09-14.md","governance/check-evidence-freshness.mjs","governance/evidence-scopes.json","governance/test/check-evidence-freshness.test.mjs","reports/evidence-freshness.latest.json","stack/overlays/ai-gateway-db.yaml","stack/reports/ai-gateway-up.2026-09-14.json","stack/reports/runtime-up.2026-09-14.json"],"removed":[],"modified":["CLAUDE.md","docs/runbook.md","governance/README.md","governance/bin/cli.mjs","governance/package.json","package.json","reports/module-imports.latest.json","stack/README.md","stack/compose.yaml","stack/overlays/dev.yaml","stack/provision/redis-dbs.json"]},{"id":"a76562a9c4710a6763243f4f1e1b87f12461b429","message":"chore(reports): rebind gate reports to 66d02e6\n\n本轮 pnpm check(exit 0,30 项)与治理回归 183/183 的报告产物,按仓纪律 §5 落在实现提交之后。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a76562a9c4710a6763243f4f1e1b87f12461b429","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-14T06:52:39-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/migration-decs.latest.json","reports/module-imports.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"66d02e665eba56a132e0c68a0916fdbb54f535e1","message":"feat(governance,client-fact): land U-31 / U-33 / U-34 consumer feedback\n\n真实上层接入(digital-employee-os 的 os-employment-projection)暴露的三条缺口,\n按回灌纪律「机器门禁 \u003e 手册条目 \u003e 口头经验」落到本仓。\n\nU-33(机器门禁):check:pins 只读 package.json 的版本字符串,\n`\"@juhai/client-fact\": \"1.0.0-rc.2\"` 在它眼里是完美 exact pin,而 pnpm-lock.yaml 可以把同一个\n包解析到临时目录的 tarball(实测:会话 scratchpad 下的 file:/private/tmp/...tgz)。这比明着写\nfile: 依赖更危险——所有既有门禁全绿,只有别人 clone 后 pnpm install 失败才暴露。现把判据下沉到\nlockfile 的解析结果:@juhai/* 的 resolution tarball 必须落在 .npmrc 声明的 scope registry 下;\n非 registry 来源须在 platform-dependency-deviations.json 完整登记(五字段全填且未过期);\n临时目录来源不可登记豁免。\n\n不误伤既有上层仓的三条:无 lockfile 不判定;lockfile 里没有 @juhai 外部条目(纯 workspace 消费)\n不判定、也不要求 .npmrc;只有真的存在外部解析才要求声明 registry。本仓自测 checked=0 通过,\n对 OS 仓实测 4 个解析来源全部合规。\n\nU-34 / U-31(包契约):client-fact 此前没有 README,而 clients/README 却说\"实现与验收见包 README\"。\n新建并加进 files:\n- baseUrl 必须含 /api 前缀——本包用相对 URL 解析端点,少写 /api 不报错而是让所有回查 404,\n 消费者若把 404 当\"事实不存在\"就会判 UNTRUSTED_FACT、三次进死信;一个配置漏字母把整条摄入\n 变成全量死信。同时写明 404 / 不可达 / 未配置三种情况的不同处置。\n- 迁移模板只给表:策略无 TO 子句(对 PUBLIC 生效,system 角色同样被挡)且全文无 GRANT,\n 消费者若用低权限运行角色,照抄后对五张表没有任何权限。契约改为\"表 DDL 逐字照用,\n GRANT 与策略角色绑定由消费者按自身角色模型补齐\"。\n- 附 rc.3 的 STALE 行为变更与\"升级后应删除边界翻译\"。\n\n验证:新增 governance/test/check-pins.test.mjs 10 例(1 正向 + 6 负向判据 + 3 条不误伤);\n治理回归 183/183;根 pnpm check exit 0(30 项)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/66d02e665eba56a132e0c68a0916fdbb54f535e1","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-14T06:52:14-07:00","added":["governance/test/check-pins.test.mjs","runtime/clients/fact/README.md"],"removed":[],"modified":["governance/check-pins.mjs","runtime/clients/README.md","runtime/clients/fact/package.json"]}],"total_commits":0,"head_commit":{"id":"727044996fde65045ab4ca56a060c0a32fa24c0a","message":"chore(reports): rebind after merging main into the U-31/33/34 branch\n\n合并 main(6 个提交)后重跑根 pnpm check:exit 0,31 项。\nmodule-imports 报告的合并冲突按「报告是运行产物」取 main 版本后由本轮重新生成。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/727044996fde65045ab4ca56a060c0a32fa24c0a","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-14T19:21: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","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/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":13415,"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":32,"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-15T09: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
|
2
|
30
|
1789438964
|
1789439025
|
0
|
1789438964
|
1789439068
|
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
|
|
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
|
|
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
|
|
23687
|
docs(release): record r39 deployment and productio docs(release): record r39 deployment and production acceptance...
|
57
|
5
|
governance.yml
|
58
|
5
|
0
|
refs/heads/main
|
c29d59318105847c5b0f0792d78bdb44ed012814
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4bd818ff3707544c3cab263ef0f8e78fbb2bbed4","after":"c29d59318105847c5b0f0792d78bdb44ed012814","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/4bd818ff3707544c3cab263ef0f8e78fbb2bbed4...c29d59318105847c5b0f0792d78bdb44ed012814","commits":[{"id":"c29d59318105847c5b0f0792d78bdb44ed012814","message":"docs(release): record r39 deployment and production acceptance\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/c29d59318105847c5b0f0792d78bdb44ed012814","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-08T07:18:52-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"c29d59318105847c5b0f0792d78bdb44ed012814","message":"docs(release): record r39 deployment and production acceptance\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/c29d59318105847c5b0f0792d78bdb44ed012814","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-08T07:18:52-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636672,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:04: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
|
2
|
4
|
1788877156
|
1788877194
|
0
|
1788877155
|
1788877194
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23956
|
chore(reports): rebind after merging main into the chore(reports): rebind after merging main into the fact-read pick...
|
116
|
5
|
platform.yml
|
58
|
5
|
0
|
refs/heads/main
|
517414d8806adba9ad700d6508e6c563513a583e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"727044996fde65045ab4ca56a060c0a32fa24c0a","after":"517414d8806adba9ad700d6508e6c563513a583e","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/727044996fde65045ab4ca56a060c0a32fa24c0a...517414d8806adba9ad700d6508e6c563513a583e","commits":[{"id":"517414d8806adba9ad700d6508e6c563513a583e","message":"chore(reports): rebind after merging main into the fact-read pick\n\n合并 main(6 提交)后根 pnpm check exit 0,31 项。\n\n合并过程记录两件事:\n1. runtime/clients/fact/README.md 两边都新建过——main 侧是 U-31/34 的中文接入契约,\n 本分支侧是 3074b75 的英文 reader 文档。两者内容不重叠,合并而非二选一:\n 接入契约保持 1—4 节,reader 文档作为第 5 节并入。\n2. 合并后 module-fact 构建失败(FactReadRuntime 未导出)。根因不是合并本身:\n modules/* 用 composite:true,包根的 tsconfig.tsbuildinfo 残留让 tsc -p 认为无变化,\n exit 0 却不产出更新后的 dist/index.d.ts;turbo 随后把这份**空产出缓存**了,\n 于是后续每次构建都从缓存恢复错误的 dist——删 dist 重建也没用,因为 tsbuildinfo 还在。\n 清掉 runtime 下全部 tsconfig.tsbuildinfo + turbo run build --force 后恢复正常。\n 这是 C69 形态在本仓的复现,且被 turbo 缓存放大了一层。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/517414d8806adba9ad700d6508e6c563513a583e","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-14T19:26:21-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","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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"2a3471d25243924c1d27cf96654b8d4fa33978ca","message":"Merge branch 'main' into feat/fact-read-http-pick\n\n# Conflicts:\n#\treports/caddy.latest.json\n#\treports/catalog-drift.latest.json\n#\treports/catalog-reconciliation.latest.json\n#\treports/facts.latest.json\n#\treports/fixtures.latest.json\n#\treports/migration-decs.latest.json\n#\treports/module-imports.latest.json\n#\truntime/clients/fact/README.md\n#\truntime/reports/agent-adapters.latest.json\n#\truntime/reports/conformance-matrix.latest.json\n#\truntime/reports/contract-consumers.latest.json\n#\truntime/reports/docs-truth.latest.json\n#\truntime/reports/dual-backend-parity.latest.json\n#\truntime/reports/fork-readiness.latest.json\n#\truntime/reports/governance-docs.latest.json\n#\truntime/reports/governance-rules.latest.json\n#\truntime/reports/governance-status.latest.json\n#\truntime/reports/governance.latest.json\n#\truntime/reports/migrations.latest.json\n#\truntime/reports/naming.latest.json\n#\truntime/reports/runtime-governance.latest.json\n#\truntime/reports/schema-sync.latest.json\n#\truntime/reports/statemachine-write-guard.latest.json\n#\truntime/reports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2a3471d25243924c1d27cf96654b8d4fa33978ca","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-14T19:23:23-07:00","added":["docs/B-7-dev常驻运行时启动记录-2026-09-14.md","governance/check-evidence-freshness.mjs","governance/evidence-scopes.json","governance/test/check-evidence-freshness.test.mjs","governance/test/check-pins.test.mjs","reports/evidence-freshness.latest.json","stack/overlays/ai-gateway-db.yaml","stack/reports/ai-gateway-up.2026-09-14.json","stack/reports/runtime-up.2026-09-14.json"],"removed":[],"modified":["CLAUDE.md","docs/runbook.md","governance/README.md","governance/bin/cli.mjs","governance/check-pins.mjs","governance/package.json","package.json","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","runtime/clients/README.md","runtime/clients/fact/README.md","runtime/clients/fact/package.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","stack/README.md","stack/compose.yaml","stack/overlays/dev.yaml","stack/provision/redis-dbs.json"]},{"id":"176c33149337c2eb03a0cdfb11ed910f75700e0c","message":"chore(reports): rebind gate reports to the fact-read pick\n\n本分支只从 codex/ms3-fact-read-http 摘取 3074b75(fact-read),不带该分支的\nscope / permission-invalidation / OpenBao 工作。九处冲突按同一规则解决:只保留\nfact-read,剔除 scope/permission 引用,证据数字与棘轮取 HEAD——本分支尚未跑过\nruntime/UI 验收,不得引用原分支 clean 3260390 的 779 tests / 97 项主线专项。\n\n本地验证:turbo typecheck --force 28/28(0 cached,非缓存命中);\n@juhai/client-fact 13/13(含新增 reader.test.ts 10 例);\n@juhai/module-fact 42/42(含新增 read-runtime.test.ts 4 例);\n根 pnpm check exit 0(30 项,check:pins 36 处 / 34 个 package.json)。\n\n未跑:e2e/fact-read-http.test.ts(需真实 M5 库 + JWT 环境)与 runtime/UI 整轮——\nmainline 清单与地板已登记该套件 10 例,但本分支没有它的运行证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/176c33149337c2eb03a0cdfb11ed910f75700e0c","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-14T18:58:31-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/migration-decs.latest.json","reports/module-imports.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/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"a45389784a7c399a941306eb1454ff456e97ebcb","message":"docs(pf-15): record the evidence binding of the adversarial round\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a45389784a7c399a941306eb1454ff456e97ebcb","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-14T10:37:13-07:00","added":[],"removed":[],"modified":["docs/PF-15读面对抗性验收-2026-09-14.md"]},{"id":"96c108dc65e3ce9838b554cafdf428023be0fd25","message":"chore(reports): bind the read-surface adversarial evidence @ 830291c\n\nMainline acceptance re-run on an isolated compose project\n(enterprise-platform-ms23-ci: its own Postgres with tmpfs data, Redis and\nRedpanda), on databases created fresh for this round, so no state from the\nimplementing session took part: fact-read-http 11, fact-persistence 11,\naudit-tamper 8, mainline-revocation-chaos 18 — validateMainlineReport now\nreturns no errors, which it did not before this round (the floor had been\nraised to require the read suite while the stored report still had three).\nRevocation stays partial with employment Scope explicit, p95 5043 ms.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/96c108dc65e3ce9838b554cafdf428023be0fd25","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-14T10:37:02-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/mainline-acceptance.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/revocation-sla.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/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":"517414d8806adba9ad700d6508e6c563513a583e","message":"chore(reports): rebind after merging main into the fact-read pick\n\n合并 main(6 提交)后根 pnpm check exit 0,31 项。\n\n合并过程记录两件事:\n1. runtime/clients/fact/README.md 两边都新建过——main 侧是 U-31/34 的中文接入契约,\n 本分支侧是 3074b75 的英文 reader 文档。两者内容不重叠,合并而非二选一:\n 接入契约保持 1—4 节,reader 文档作为第 5 节并入。\n2. 合并后 module-fact 构建失败(FactReadRuntime 未导出)。根因不是合并本身:\n modules/* 用 composite:true,包根的 tsconfig.tsbuildinfo 残留让 tsc -p 认为无变化,\n exit 0 却不产出更新后的 dist/index.d.ts;turbo 随后把这份**空产出缓存**了,\n 于是后续每次构建都从缓存恢复错误的 dist——删 dist 重建也没用,因为 tsbuildinfo 还在。\n 清掉 runtime 下全部 tsconfig.tsbuildinfo + turbo run build --force 后恢复正常。\n 这是 C69 形态在本仓的复现,且被 turbo 缓存放大了一层。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/517414d8806adba9ad700d6508e6c563513a583e","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-14T19:26:21-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","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/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":13444,"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":32,"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-15T10:22:44+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
|
1789439268
|
1789439449
|
0
|
1789439267
|
1789440382
|
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
|
|
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
|
|
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
|
|
23688
|
Merge branch 'main' into audit/grill-accep Merge branch 'main' into audit/grill-acceptance-20260908...
|
57
|
5
|
governance.yml
|
59
|
5
|
0
|
refs/heads/main
|
e831a73b46891ca7b86a44fa67605510f9272232
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c29d59318105847c5b0f0792d78bdb44ed012814","after":"e831a73b46891ca7b86a44fa67605510f9272232","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/c29d59318105847c5b0f0792d78bdb44ed012814...e831a73b46891ca7b86a44fa67605510f9272232","commits":[{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","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-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},{"id":"a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","message":"fix(acceptance): prevent repeated paid submissions and classify brand conflicts\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","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-08T07:37:15-07:00","added":["docs/governance/log/2026-09-08-grill-acceptance.md","reports/grill-acceptance-2026-09-08/README.md","reports/grill-acceptance-2026-09-08/verification.json","services/model-sidecar/test_hosted_submission.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/brand-profile-concurrency.integration.test.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/brand-profile-concurrency.integration.test.ts","apps/api-nestjs/test/creative-project.integration.test.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","services/model-sidecar/main.py","services/model-sidecar/test_async_recovery.py"]}],"total_commits":0,"head_commit":{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","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-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636709,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:19: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
|
4
|
1788878306
|
1788878336
|
0
|
1788878304
|
1788878336
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23965
|
feat(contracts): anchor workspace root on a manife feat(contracts): anchor workspace root on a manifest file, not directory names...
|
116
|
5
|
platform.yml
|
59
|
5
|
0
|
refs/heads/main
|
02587c52835c0d763ab44c302cb862b5cb1a0125
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"517414d8806adba9ad700d6508e6c563513a583e","after":"02587c52835c0d763ab44c302cb862b5cb1a0125","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/517414d8806adba9ad700d6508e6c563513a583e...02587c52835c0d763ab44c302cb862b5cb1a0125","commits":[{"id":"02587c52835c0d763ab44c302cb862b5cb1a0125","message":"feat(contracts): anchor workspace root on a manifest file, not directory names\n\ndetectWorkspaceRoot() only recognised an ancestor holding both 基础/ and doc/.\nThe directory migration splits 基础/ into 基础基座/ + 基础设施/ + 基础框架/ +\n平台治理/ and moves doc/ under 平台治理/, after which that probe returns null\nand every gate depending on it fails closed with WORKSPACE_ROOT_UNRESOLVED —\na one-constant breakage that is very hard to diagnose from the error alone.\n\nA candidate now qualifies when it holds the workspace.json manifest, falling\nback to the existing marker directories so checkouts without the manifest keep\nworking unchanged. Directory reshuffles then only touch the manifest.\n\nAdds 3 cases: manifest alone qualifies with both markers absent, an explicit\n--workspace-root carrying the manifest is accepted, and marker-only detection\nstill works. 101 → 104 tests, all passing.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/02587c52835c0d763ab44c302cb862b5cb1a0125","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-14T20:40:01-07:00","added":[],"removed":[],"modified":["contracts/scripts/workspace-root.mjs","contracts/test/workspace-root.test.mjs"]},{"id":"e0fb26df05caf3f1cecc8328b586aa304eff51eb","message":"chore(contracts): rename hi-atelier app to 嗨赞造意\n\napp.name 由「嗨设首席」改为「嗨赞造意」,与目录名\n业务应用/嗨赞造意/image-generation 一致。id (hi-atelier)、\nrepository、domain、owner 均不变。\n\n来源冻结目录 platform-contracts/ 按 PF-04 阶段 1 规定不改\n(CHG-001 包指纹以该目录为准,改动会触发就绪度重基线),\n两边口径差随阶段 2 物理移除消除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e0fb26df05caf3f1cecc8328b586aa304eff51eb","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-14T20:35:51-07:00","added":[],"removed":[],"modified":["contracts/apps/hi-atelier.draft.json"]}],"total_commits":0,"head_commit":{"id":"02587c52835c0d763ab44c302cb862b5cb1a0125","message":"feat(contracts): anchor workspace root on a manifest file, not directory names\n\ndetectWorkspaceRoot() only recognised an ancestor holding both 基础/ and doc/.\nThe directory migration splits 基础/ into 基础基座/ + 基础设施/ + 基础框架/ +\n平台治理/ and moves doc/ under 平台治理/, after which that probe returns null\nand every gate depending on it fails closed with WORKSPACE_ROOT_UNRESOLVED —\na one-constant breakage that is very hard to diagnose from the error alone.\n\nA candidate now qualifies when it holds the workspace.json manifest, falling\nback to the existing marker directories so checkouts without the manifest keep\nworking unchanged. Directory reshuffles then only touch the manifest.\n\nAdds 3 cases: manifest alone qualifies with both markers absent, an explicit\n--workspace-root carrying the manifest is accepted, and marker-only detection\nstill works. 101 → 104 tests, all passing.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/02587c52835c0d763ab44c302cb862b5cb1a0125","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-14T20:40:01-07:00","added":[],"removed":[],"modified":["contracts/scripts/workspace-root.mjs","contracts/test/workspace-root.test.mjs"]},"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":13495,"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":33,"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-15T11:48: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
|
2
|
30
|
1789444584
|
1789445707
|
0
|
1789444583
|
1789446675
|
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
|
|
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
|
|
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
|
|
23689
|
merge: integrate accepted asset ownership and queu merge: integrate accepted asset ownership and queue scheduling fixes...
|
57
|
5
|
governance.yml
|
60
|
5
|
0
|
refs/heads/main
|
71f2769e17a58a697b380cc2a2be27428a9692b2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e831a73b46891ca7b86a44fa67605510f9272232","after":"71f2769e17a58a697b380cc2a2be27428a9692b2","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/e831a73b46891ca7b86a44fa67605510f9272232...71f2769e17a58a697b380cc2a2be27428a9692b2","commits":[{"id":"71f2769e17a58a697b380cc2a2be27428a9692b2","message":"merge: integrate accepted asset ownership and queue scheduling fixes\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/71f2769e17a58a697b380cc2a2be27428a9692b2","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-08T07:51:20-07:00","added":["apps/api-fastify/test/creative-dispatch-boundary.integration.test.ts","apps/api-nestjs/test/creative-dispatch-boundary.integration.test.ts","docs/governance/log/2026-09-08-adversarial-path-queue.md","packages/public-file/src/asset-path.test.ts","packages/public-file/src/asset-path.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-review.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-review.integration.test.ts","docs/adr/0016-durable-creative-projects.md","packages/contracts/src/creative-queue-policy.test.ts","packages/contracts/src/creative-queue-policy.ts","packages/public-file/src/index.ts","packages/public-file/src/rendered-file.test.ts","packages/public-file/src/rendered-file.ts","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},{"id":"cdbd6c1dcea80e4dfe523a059543e043380c0904","message":"fix(security): bind asset paths to one canonical form and admit queue candidates before LIMIT\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/cdbd6c1dcea80e4dfe523a059543e043380c0904","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-08T07:44:25-07:00","added":["apps/api-fastify/test/creative-dispatch-boundary.integration.test.ts","apps/api-nestjs/test/creative-dispatch-boundary.integration.test.ts","docs/governance/log/2026-09-08-adversarial-path-queue.md","packages/public-file/src/asset-path.test.ts","packages/public-file/src/asset-path.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-review.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-review.integration.test.ts","docs/adr/0016-durable-creative-projects.md","packages/contracts/src/creative-queue-policy.test.ts","packages/contracts/src/creative-queue-policy.ts","packages/public-file/src/index.ts","packages/public-file/src/rendered-file.test.ts","packages/public-file/src/rendered-file.ts","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"71f2769e17a58a697b380cc2a2be27428a9692b2","message":"merge: integrate accepted asset ownership and queue scheduling fixes\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/71f2769e17a58a697b380cc2a2be27428a9692b2","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-08T07:51:20-07:00","added":["apps/api-fastify/test/creative-dispatch-boundary.integration.test.ts","apps/api-nestjs/test/creative-dispatch-boundary.integration.test.ts","docs/governance/log/2026-09-08-adversarial-path-queue.md","packages/public-file/src/asset-path.test.ts","packages/public-file/src/asset-path.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-review.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-review.integration.test.ts","docs/adr/0016-durable-creative-projects.md","packages/contracts/src/creative-queue-policy.test.ts","packages/contracts/src/creative-queue-policy.ts","packages/public-file/src/index.ts","packages/public-file/src/rendered-file.test.ts","packages/public-file/src/rendered-file.ts","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636940,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:38: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
|
1
|
4
|
1788879154
|
1788879243
|
0
|
1788879154
|
1788879243
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23966
|
chore(reports): rebind provenance to e0fb26d
|
116
|
5
|
platform.yml
|
60
|
5
|
0
|
refs/heads/main
|
1d84966ad54d59cdf4644114c40e86f4cec7cbb5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"02587c52835c0d763ab44c302cb862b5cb1a0125","after":"1d84966ad54d59cdf4644114c40e86f4cec7cbb5","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/02587c52835c0d763ab44c302cb862b5cb1a0125...1d84966ad54d59cdf4644114c40e86f4cec7cbb5","commits":[{"id":"1d84966ad54d59cdf4644114c40e86f4cec7cbb5","message":"chore(reports): rebind provenance to e0fb26d\n\nOnly provenance.gitSha and generatedAt changed; every check verdict is\nunchanged. Regenerated while establishing the pre-migration gate baseline.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/1d84966ad54d59cdf4644114c40e86f4cec7cbb5","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-14T21:14:36-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/facts.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json"]}],"total_commits":0,"head_commit":{"id":"1d84966ad54d59cdf4644114c40e86f4cec7cbb5","message":"chore(reports): rebind provenance to e0fb26d\n\nOnly provenance.gitSha and generatedAt changed; every check verdict is\nunchanged. Regenerated while establishing the pre-migration gate baseline.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/1d84966ad54d59cdf4644114c40e86f4cec7cbb5","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-14T21:14:36-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/facts.latest.json","reports/migration-decs.latest.json","reports/module-imports.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":13567,"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-15T12:10:30+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
|
1789445719
|
1789445758
|
0
|
1789445680
|
1789446703
|
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
|
|
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
|
|
24106
|
chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c, chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点...
|
76
|
5
|
governance.yml
|
60
|
5
|
0
|
refs/heads/main
|
dcd1c1486e63a7f67a0c548158823764a0b58b21
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","after":"dcd1c1486e63a7f67a0c548158823764a0b58b21","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/832f9b2e5ab646a48adbf37b80db1d41092f2f7e...dcd1c1486e63a7f67a0c548158823764a0b58b21","commits":[{"id":"dcd1c1486e63a7f67a0c548158823764a0b58b21","message":"chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点\n\n本批次最后一个提交,按 C241 纪律同时刷新 CLAUDE.md 的快照基准提交锚点到 1994f3c\n(声明落后 0,本提交自身使实测落后 1,落在 C19 式 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1994f3c、worktreeDirty:false)。\n整轮 28 步全部执行,前 27 步全绿,末步 check:kernel-admission 红 8 处——该门禁引入时即\n登记的已知诚实红(K3 一处:crossProductRequired 的证据源是命名空间冒烟测试;\nK4 七处:三个组件的 admissionEvidence 声明为 true 却无机器回执),链尾位置正是为了不连带\n抹掉前 27 步的证据。\n\n与上一次整轮绿盘(23d1b7a @ 6396f7f,27/27)相比,本轮是 28 步:新增的第 28 步\ncheck:kernel-admission 自身就是本批次引入的。因此「27/27 全绿」与「28 步 27 绿」不是退步,\n是多了一条此前不存在的判据,并且它一上来就报出了真实缺口。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在静态链内,本轮未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dcd1c1486e63a7f67a0c548158823764a0b58b21","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:21:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"1994f3c74ee90e08df7f1b03afff9dd570fee87d","message":"docs(治理): 整轮 pnpm check 暴露的三处文档漂移——下游锁、边界数字、快照锚点\n\n本批次六个提交推送时没有刷新文档真相,整轮 pnpm check 的 check:docs-truth 如实报红 4 条\n(第 2 条是第 1 条的负向探针连带)。逐条修:\n\n- docs/product-extension-guide.md 的「当前下游兼容锁」行仍写 @repo/contracts@1.16.0,\n 实际已随两次公开面变更升到 1.18.0。该行要求与 kernel.downstream.lock.json **逐字**匹配。\n- CLAUDE.md 内核边界数字 142/142 → 143/143 受管面:identity.ts 迁入 CORE 的 contractModules\n 多了一个受管面。242/242 源码文件与 7/7 负向探针未变。\n (C152 那条历史教训行里的 136/136 是当时的实测记录,属历史事实,不改。)\n- 快照基准提交锚点 070b944 落后 HEAD 10 提交——其中 8 个是本批次的,另 2 个\n (23d1b7a / c433d57)在本批次之前就已漏刷。锚点随批次最后一个提交刷新,故不在本提交里改。\n\n整轮实测(28 步全部执行):前 27 步全绿——check:platform / naming / schema / validation /\ncontract-consumers / dual-backend / write-guard / list-bounds / fork-readiness /\nkernel-boundaries / kernel-packages / kernel-downstream / kernel-extensions /\nproduct-migrations / product-acceptance / agent-adapters / report-lock / operations /\nllm-eval / rls / migrations / governance-docs / docs-truth / governance / lint(5/5)/\ntypecheck(13/13)/ platform-provenance;末步 check:kernel-admission 红 8 处,\n是该门禁引入时即登记的已知诚实红(K3 一处 + K4 七处),位置在链尾正是为了不连带抹掉\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/1994f3c74ee90e08df7f1b03afff9dd570fee87d","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:19:40-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/product-extension-guide.md"]}],"total_commits":0,"head_commit":{"id":"dcd1c1486e63a7f67a0c548158823764a0b58b21","message":"chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点\n\n本批次最后一个提交,按 C241 纪律同时刷新 CLAUDE.md 的快照基准提交锚点到 1994f3c\n(声明落后 0,本提交自身使实测落后 1,落在 C19 式 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1994f3c、worktreeDirty:false)。\n整轮 28 步全部执行,前 27 步全绿,末步 check:kernel-admission 红 8 处——该门禁引入时即\n登记的已知诚实红(K3 一处:crossProductRequired 的证据源是命名空间冒烟测试;\nK4 七处:三个组件的 admissionEvidence 声明为 true 却无机器回执),链尾位置正是为了不连带\n抹掉前 27 步的证据。\n\n与上一次整轮绿盘(23d1b7a @ 6396f7f,27/27)相比,本轮是 28 步:新增的第 28 步\ncheck:kernel-admission 自身就是本批次引入的。因此「27/27 全绿」与「28 步 27 绿」不是退步,\n是多了一条此前不存在的判据,并且它一上来就报出了真实缺口。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在静态链内,本轮未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dcd1c1486e63a7f67a0c548158823764a0b58b21","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:21:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.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":85463,"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:12:31+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
|
1789719707
|
1789719715
|
0
|
1789719706
|
1789719730
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23690
|
docs(release): record r41 acceptance fixes deploym docs(release): record r41 acceptance fixes deployment...
|
57
|
5
|
governance.yml
|
61
|
5
|
0
|
refs/heads/main
|
167f58f7b2ae134dd6424b1e6dc56c31f5fa5418
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"71f2769e17a58a697b380cc2a2be27428a9692b2","after":"167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/71f2769e17a58a697b380cc2a2be27428a9692b2...167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","commits":[{"id":"167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","message":"docs(release): record r41 acceptance fixes deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","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-08T08:07:19-07:00","added":["docs/releases/2026-09-08-r41.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-grill-acceptance.md","docs/releases/current.md","reports/governance-docs.latest.json","reports/grill-acceptance-2026-09-08/README.md","reports/grill-acceptance-2026-09-08/verification.json"]}],"total_commits":0,"head_commit":{"id":"167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","message":"docs(release): record r41 acceptance fixes deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","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-08T08:07:19-07:00","added":["docs/releases/2026-09-08-r41.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-grill-acceptance.md","docs/releases/current.md","reports/governance-docs.latest.json","reports/grill-acceptance-2026-09-08/README.md","reports/grill-acceptance-2026-09-08/verification.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":637125,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:52: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
|
4
|
1788880071
|
1788880193
|
0
|
1788880071
|
1788880193
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23967
|
fix(migration): adapt contracts and governance gat fix(migration): adapt contracts and governance gates to the new directory layout...
|
116
|
5
|
platform.yml
|
61
|
5
|
0
|
refs/heads/main
|
30565bfa7709e7905e2050f43b8a5d6595158069
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1d84966ad54d59cdf4644114c40e86f4cec7cbb5","after":"30565bfa7709e7905e2050f43b8a5d6595158069","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/1d84966ad54d59cdf4644114c40e86f4cec7cbb5...30565bfa7709e7905e2050f43b8a5d6595158069","commits":[{"id":"30565bfa7709e7905e2050f43b8a5d6595158069","message":"fix(migration): adapt contracts and governance gates to the new directory layout\n\nThe workspace moved from 企业产品/企业/企业应用/ to 企业AI应用开发群/ and the\nfive layers were renamed after the architecture diagram. Catalog registrations\n(code_truth / evidence / repository / directory) now point at the new paths.\n\nGate changes:\n- platform-project-catalog schema: directory pattern is now\n ^(企业控制面/[^/]+|数字员工OS|工程基础框架)$ — platform projects used to sit\n under one parent (基础/) and are now spread across 企业控制面/ plus two\n layers that each hold a single project\n- governance-linter scans 企业控制面/ instead of 基础/, excluding the host repo\n (enterprise-platform) and the fact-model repo\n- check-catalog-drift: same prefix and exclusion set\n- WORKSPACE_ROOT_MARKERS: ['基础','doc'] → ['平台治理','企业控制面']. The old\n pair now matches 平台治理/ itself, so a mirror workspace's intermediate\n directory was being taken for the root\n- tests resolve workspace-relative paths through baseline.workspaceRoot\n\n104/104 contracts tests, 193/193 governance tests, check back to its\n4-issue baseline.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/30565bfa7709e7905e2050f43b8a5d6595158069","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-14T21:45:37-07:00","added":[],"removed":[],"modified":["CLAUDE.md","contracts/README.md","contracts/SOURCE.md","contracts/apps/base-framework.draft.json","contracts/apps/digital-employee-os.draft.json","contracts/apps/enterprise-idp.draft.json","contracts/apps/execution-control.draft.json","contracts/apps/hi-atelier.draft.json","contracts/apps/juhai-quotation-system.draft.json","contracts/apps/juhai.devicecloud.draft.json","contracts/apps/juhai.hr.draft.json","contracts/apps/juhai.knowledgecloud.draft.json","contracts/apps/juhai.service.draft.json","contracts/apps/permission-platform.draft.json","contracts/apps/yggdrasil.local-life.draft.json","contracts/catalogs/decisions.json","contracts/catalogs/platform-projects.json","contracts/schemas/platform-project-catalog.v1.schema.json","contracts/scripts/check-impact-graph.mjs","contracts/scripts/governance-linter.mjs","contracts/scripts/workspace-root.mjs","contracts/test/governance-linter.test.mjs","contracts/test/workspace-optional.test.mjs","contracts/test/workspace-root.test.mjs","governance/catalog-map.json","governance/check-catalog-drift.mjs","governance/check-facts.mjs","governance/check-fixtures.mjs","governance/check-modules.mjs","governance/fixtures/dec-039.suite.json","governance/test/check-catalog-drift.test.mjs","governance/test/check-catalog-reconciliation.test.mjs","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/facts.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json"]}],"total_commits":0,"head_commit":{"id":"30565bfa7709e7905e2050f43b8a5d6595158069","message":"fix(migration): adapt contracts and governance gates to the new directory layout\n\nThe workspace moved from 企业产品/企业/企业应用/ to 企业AI应用开发群/ and the\nfive layers were renamed after the architecture diagram. Catalog registrations\n(code_truth / evidence / repository / directory) now point at the new paths.\n\nGate changes:\n- platform-project-catalog schema: directory pattern is now\n ^(企业控制面/[^/]+|数字员工OS|工程基础框架)$ — platform projects used to sit\n under one parent (基础/) and are now spread across 企业控制面/ plus two\n layers that each hold a single project\n- governance-linter scans 企业控制面/ instead of 基础/, excluding the host repo\n (enterprise-platform) and the fact-model repo\n- check-catalog-drift: same prefix and exclusion set\n- WORKSPACE_ROOT_MARKERS: ['基础','doc'] → ['平台治理','企业控制面']. The old\n pair now matches 平台治理/ itself, so a mirror workspace's intermediate\n directory was being taken for the root\n- tests resolve workspace-relative paths through baseline.workspaceRoot\n\n104/104 contracts tests, 193/193 governance tests, check back to its\n4-issue baseline.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/30565bfa7709e7905e2050f43b8a5d6595158069","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-14T21:45:37-07:00","added":[],"removed":[],"modified":["CLAUDE.md","contracts/README.md","contracts/SOURCE.md","contracts/apps/base-framework.draft.json","contracts/apps/digital-employee-os.draft.json","contracts/apps/enterprise-idp.draft.json","contracts/apps/execution-control.draft.json","contracts/apps/hi-atelier.draft.json","contracts/apps/juhai-quotation-system.draft.json","contracts/apps/juhai.devicecloud.draft.json","contracts/apps/juhai.hr.draft.json","contracts/apps/juhai.knowledgecloud.draft.json","contracts/apps/juhai.service.draft.json","contracts/apps/permission-platform.draft.json","contracts/apps/yggdrasil.local-life.draft.json","contracts/catalogs/decisions.json","contracts/catalogs/platform-projects.json","contracts/schemas/platform-project-catalog.v1.schema.json","contracts/scripts/check-impact-graph.mjs","contracts/scripts/governance-linter.mjs","contracts/scripts/workspace-root.mjs","contracts/test/governance-linter.test.mjs","contracts/test/workspace-optional.test.mjs","contracts/test/workspace-root.test.mjs","governance/catalog-map.json","governance/check-catalog-drift.mjs","governance/check-facts.mjs","governance/check-fixtures.mjs","governance/check-modules.mjs","governance/fixtures/dec-039.suite.json","governance/test/check-catalog-drift.test.mjs","governance/test/check-catalog-reconciliation.test.mjs","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/facts.latest.json","reports/migration-decs.latest.json","reports/module-imports.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":13573,"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-15T12:14: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
|
2
|
30
|
1789447541
|
1789447580
|
0
|
1789447540
|
1789447608
|
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
|
|
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
|
|
24107
|
chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c, chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点...
|
76
|
5
|
platform-governance.yml
|
61
|
5
|
0
|
refs/heads/main
|
dcd1c1486e63a7f67a0c548158823764a0b58b21
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"832f9b2e5ab646a48adbf37b80db1d41092f2f7e","after":"dcd1c1486e63a7f67a0c548158823764a0b58b21","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/832f9b2e5ab646a48adbf37b80db1d41092f2f7e...dcd1c1486e63a7f67a0c548158823764a0b58b21","commits":[{"id":"dcd1c1486e63a7f67a0c548158823764a0b58b21","message":"chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点\n\n本批次最后一个提交,按 C241 纪律同时刷新 CLAUDE.md 的快照基准提交锚点到 1994f3c\n(声明落后 0,本提交自身使实测落后 1,落在 C19 式 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1994f3c、worktreeDirty:false)。\n整轮 28 步全部执行,前 27 步全绿,末步 check:kernel-admission 红 8 处——该门禁引入时即\n登记的已知诚实红(K3 一处:crossProductRequired 的证据源是命名空间冒烟测试;\nK4 七处:三个组件的 admissionEvidence 声明为 true 却无机器回执),链尾位置正是为了不连带\n抹掉前 27 步的证据。\n\n与上一次整轮绿盘(23d1b7a @ 6396f7f,27/27)相比,本轮是 28 步:新增的第 28 步\ncheck:kernel-admission 自身就是本批次引入的。因此「27/27 全绿」与「28 步 27 绿」不是退步,\n是多了一条此前不存在的判据,并且它一上来就报出了真实缺口。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在静态链内,本轮未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dcd1c1486e63a7f67a0c548158823764a0b58b21","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:21:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"1994f3c74ee90e08df7f1b03afff9dd570fee87d","message":"docs(治理): 整轮 pnpm check 暴露的三处文档漂移——下游锁、边界数字、快照锚点\n\n本批次六个提交推送时没有刷新文档真相,整轮 pnpm check 的 check:docs-truth 如实报红 4 条\n(第 2 条是第 1 条的负向探针连带)。逐条修:\n\n- docs/product-extension-guide.md 的「当前下游兼容锁」行仍写 @repo/contracts@1.16.0,\n 实际已随两次公开面变更升到 1.18.0。该行要求与 kernel.downstream.lock.json **逐字**匹配。\n- CLAUDE.md 内核边界数字 142/142 → 143/143 受管面:identity.ts 迁入 CORE 的 contractModules\n 多了一个受管面。242/242 源码文件与 7/7 负向探针未变。\n (C152 那条历史教训行里的 136/136 是当时的实测记录,属历史事实,不改。)\n- 快照基准提交锚点 070b944 落后 HEAD 10 提交——其中 8 个是本批次的,另 2 个\n (23d1b7a / c433d57)在本批次之前就已漏刷。锚点随批次最后一个提交刷新,故不在本提交里改。\n\n整轮实测(28 步全部执行):前 27 步全绿——check:platform / naming / schema / validation /\ncontract-consumers / dual-backend / write-guard / list-bounds / fork-readiness /\nkernel-boundaries / kernel-packages / kernel-downstream / kernel-extensions /\nproduct-migrations / product-acceptance / agent-adapters / report-lock / operations /\nllm-eval / rls / migrations / governance-docs / docs-truth / governance / lint(5/5)/\ntypecheck(13/13)/ platform-provenance;末步 check:kernel-admission 红 8 处,\n是该门禁引入时即登记的已知诚实红(K3 一处 + K4 七处),位置在链尾正是为了不连带抹掉\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/1994f3c74ee90e08df7f1b03afff9dd570fee87d","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:19:40-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/product-extension-guide.md"]}],"total_commits":0,"head_commit":{"id":"dcd1c1486e63a7f67a0c548158823764a0b58b21","message":"chore(reports): 整轮 pnpm check 二十八份证据 回绑 @ 1994f3c,刷新快照锚点\n\n本批次最后一个提交,按 C241 纪律同时刷新 CLAUDE.md 的快照基准提交锚点到 1994f3c\n(声明落后 0,本提交自身使实测落后 1,落在 C19 式 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=1994f3c、worktreeDirty:false)。\n整轮 28 步全部执行,前 27 步全绿,末步 check:kernel-admission 红 8 处——该门禁引入时即\n登记的已知诚实红(K3 一处:crossProductRequired 的证据源是命名空间冒烟测试;\nK4 七处:三个组件的 admissionEvidence 声明为 true 却无机器回执),链尾位置正是为了不连带\n抹掉前 27 步的证据。\n\n与上一次整轮绿盘(23d1b7a @ 6396f7f,27/27)相比,本轮是 28 步:新增的第 28 步\ncheck:kernel-admission 自身就是本批次引入的。因此「27/27 全绿」与「28 步 27 绿」不是退步,\n是多了一条此前不存在的判据,并且它一上来就报出了真实缺口。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在静态链内,本轮未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dcd1c1486e63a7f67a0c548158823764a0b58b21","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:21:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.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/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/platform-dependency-provenance.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.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":85463,"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:12:31+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
|
1789719716
|
1789719724
|
0
|
1789719707
|
1789719730
|
|
|
0
|
Edit
Delete
|
|
23691
|
fix(script): allow choosing still image aspect rat fix(script): allow choosing still image aspect ratio...
|
57
|
5
|
governance.yml
|
62
|
5
|
0
|
refs/heads/main
|
6c1615de2390282582b75f59b84c9166a124df69
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"167f58f7b2ae134dd6424b1e6dc56c31f5fa5418","after":"6c1615de2390282582b75f59b84c9166a124df69","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/167f58f7b2ae134dd6424b1e6dc56c31f5fa5418...6c1615de2390282582b75f59b84c9166a124df69","commits":[{"id":"6c1615de2390282582b75f59b84c9166a124df69","message":"fix(script): allow choosing still image aspect ratio\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/6c1615de2390282582b75f59b84c9166a124df69","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-08T08:23:09-07:00","added":["docs/governance/log/2026-09-08-still-aspect-ratio.md"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/store/useCreationPrefsStore.ts"]}],"total_commits":0,"head_commit":{"id":"6c1615de2390282582b75f59b84c9166a124df69","message":"fix(script): allow choosing still image aspect ratio\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/6c1615de2390282582b75f59b84c9166a124df69","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-08T08:23:09-07:00","added":["docs/governance/log/2026-09-08-still-aspect-ratio.md"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/store/useCreationPrefsStore.ts"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":637173,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T23:07: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
|
3
|
4
|
1788881769
|
1788881829
|
0
|
1788881767
|
1788881829
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23968
|
fix(governance): 补登记 EmploymentTransferred 三个参与方的 fix(governance): 补登记 EmploymentTransferred 三个参与方的 DEC 前置...
|
116
|
5
|
platform.yml
|
62
|
5
|
0
|
refs/heads/main
|
b54b34efc535e49428e3f3d8fbe3b0e6fe204503
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"30565bfa7709e7905e2050f43b8a5d6595158069","after":"b54b34efc535e49428e3f3d8fbe3b0e6fe204503","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/30565bfa7709e7905e2050f43b8a5d6595158069...b54b34efc535e49428e3f3d8fbe3b0e6fe204503","commits":[{"id":"b54b34efc535e49428e3f3d8fbe3b0e6fe204503","message":"fix(governance): 补登记 EmploymentTransferred 三个参与方的 DEC 前置\n\naudit-foundation 的 FACT_DEPENDENCY_SUMMARY_GAPS:EmploymentTransferred 的\nblocked_by(DEC-010/012/032)未体现在三个参与方的项目摘要里——\nenterprise-fact-backbone 缺 DEC-032、digital-employee-os 为空、\npermission-platform 缺 010/012/032。\n\nblockers 记录的是 Fact 前置依赖(可追溯性),不等于「当前被阻塞」:审计用\n「未批准」单独一列表达阻塞,该列三行均为「无」。既有数据本就登记了已批准的\nDEC-010/012,本次与之一致。\n\n改的是活契约(正式真源——audit-foundation.mjs 注释明写「platform-contracts\n是冻结待移除的副本,审计不能拿它当依据」)。平台治理/platform-contracts/ 的\n冻结副本未触碰:CHG-001 修订 7 的 14 份冻结物复核 14/14 匹配,\npackageValid=true、formalCatalogMutated=false。\n\n审计阻塞项 7 → 6;活契约 test 167/167、治理 test 188/188、L7 冻结物 0 条不符。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b54b34efc535e49428e3f3d8fbe3b0e6fe204503","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-14T22:42:20-07:00","added":[],"removed":[],"modified":["contracts/catalogs/platform-projects.json"]},{"id":"edb5218c3bd33f8001d63ff192323ea642d86547","message":"docs: 修复 2026-09-14 迁移后仓内失效的 48 条相对链接\n\n平台目录由 基础/ 移入 企业控制面/、基础设施文档移入 平台治理/基础设施文档/ 后,\n本仓 394 条相对链接中 48 条失效,全部指向旧的兄弟目录布局:\n\n- ../开发计划.md、../docs/基础设施开发设计方案.md、../CLAUDE.md(6+5+1 条)\n → 平台治理/基础设施文档/ 下对应文件\n- ../../../基础/\u003c平台\u003e/开发计划.md → 企业控制面/\u003c平台\u003e/开发计划.md\n- ../../../上层对接经验回灌台账.md → 平台治理/基础/上层对接经验回灌台账.md\n- ../../../doc/decisions/… → 平台治理/doc/decisions/…\n\n解析方式:以工作区根建全文件后缀索引,只在后缀唯一命中时改写;\n「开发计划.md」在全树有 25 处、后缀不唯一,按本仓语义显式定向到基础设施层。\n\n另两点:\n- 路径按本仓既有风格写明文中文,不做百分号编码;含空格的目录名\n (租户组织与 Scope 平台、通知与 Webhook 中心、AI 治理平台、\n 企业 IM 与智能会话平台)只把空格编码为 %20——目标里的字面空格会被\n Markdown 当作 title 起始而截断链接。\n- docs/项目完整能力表.md 原有 4 条全编码链接随之改为同一风格,目标未变。\n\n校验:本仓 394 条相对链接失效 0(校验含空格目标,此前的校验正则会漏掉它们)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/edb5218c3bd33f8001d63ff192323ea642d86547","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-14T22:17:19-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","contracts/candidates/README.md","docs/B-7-dev常驻运行时启动记录-2026-09-14.md","docs/CL-5客户端包发布列车-2026-09-13.md","docs/G-12本地旁路发布记录-2026-09-13.md","docs/MS-1-Registry裁决登记提案-2026-09-12.md","docs/MS-1建仓与接入执行记录-2026-09-12.md","docs/owner-matrix.md","docs/runbook.md","docs/staging晋级操作说明.md","docs/能力设计/设计问题收口方案.md","docs/项目完整能力表.md","runtime/docs/migration-playbook.md","stack/ci/act-runner/README.md"]}],"total_commits":0,"head_commit":{"id":"b54b34efc535e49428e3f3d8fbe3b0e6fe204503","message":"fix(governance): 补登记 EmploymentTransferred 三个参与方的 DEC 前置\n\naudit-foundation 的 FACT_DEPENDENCY_SUMMARY_GAPS:EmploymentTransferred 的\nblocked_by(DEC-010/012/032)未体现在三个参与方的项目摘要里——\nenterprise-fact-backbone 缺 DEC-032、digital-employee-os 为空、\npermission-platform 缺 010/012/032。\n\nblockers 记录的是 Fact 前置依赖(可追溯性),不等于「当前被阻塞」:审计用\n「未批准」单独一列表达阻塞,该列三行均为「无」。既有数据本就登记了已批准的\nDEC-010/012,本次与之一致。\n\n改的是活契约(正式真源——audit-foundation.mjs 注释明写「platform-contracts\n是冻结待移除的副本,审计不能拿它当依据」)。平台治理/platform-contracts/ 的\n冻结副本未触碰:CHG-001 修订 7 的 14 份冻结物复核 14/14 匹配,\npackageValid=true、formalCatalogMutated=false。\n\n审计阻塞项 7 → 6;活契约 test 167/167、治理 test 188/188、L7 冻结物 0 条不符。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b54b34efc535e49428e3f3d8fbe3b0e6fe204503","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-14T22:42:20-07:00","added":[],"removed":[],"modified":["contracts/catalogs/platform-projects.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":13667,"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-15T12:45: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
|
30
|
1789451254
|
1789451375
|
0
|
1789451252
|
1789453372
|
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
|
|
24104
|
docs(框架): 提 FR-7——governance.rules 的 mode 与 ADR-00 docs(框架): 提 FR-7——governance.rules 的 mode 与 ADR-0010 状态的耦合没有执行者...
|
117
|
5
|
governance.yml
|
62
|
5
|
0
|
refs/heads/main
|
ed4a869bde4de3243013e74e7f48454e053bd2fa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"392f0fde46813c5d061762b8985c74948f6bb088","after":"ed4a869bde4de3243013e74e7f48454e053bd2fa","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/392f0fde46813c5d061762b8985c74948f6bb088...ed4a869bde4de3243013e74e7f48454e053bd2fa","commits":[{"id":"ed4a869bde4de3243013e74e7f48454e053bd2fa","message":"docs(框架): 提 FR-7——governance.rules 的 mode 与 ADR-0010 状态的耦合没有执行者\n\nADR-0010 正文写着「在本 ADR 仍为 Proposed 时,mode 固定为 observe」。这句话是整份\n17 条规则注册表**是建议还是约束**的唯一依据。2026-09-18 逐行走读实测:没有任何东西\n在执行它。\n\n governance.rules.schema.json 只把 mode 约束成枚举,管形状不管该是哪个\n check-governance-rules.mjs 校验了 profile 入口、例外到期、enforced 规则须有\n owner、依赖成环等多项,唯独从不判 mode——全文只在\n 成功行里把它打印出来\n generate-governance-status.mjs 按正则读了 ADR 状态,但只回显进报告,不参与判定\n\n两个方向的失效都是静默的:把 mode 翻成 enforced 而 ADR 仍 Proposed 会全绿;ADR 受理\n之后 mode 一直留在 observe 也全绿,17 条规则就此永远停在诊断态,既无提示也无复核期。\n这是「搁置没有出口」,而且落在治理模型的核心开关上。另有一处降级:decisionStatus\n取不到时静默退回 \"Unknown\" 并照常回显,ADR 标题改一个字就会让这条读取无声失效。\n\n请求逐字落实 ADR 已写的那句,不新增政策;不改 schema、不改任何规则的 severity 或\nenforcement、不改 mode 当前取值——今天跑起来仍全绿,只在有人动 mode 或动 ADR 状态时\n才说话。\n\n**本仓未做任何本地修正**:governance.rules.json、其 schema、check-governance-rules.mjs\n与 ADR-0010 四者在 enterprise-platform/runtime/ 下与框架仓逐字相同,本仓改它等于分叉\n框架治理核心,下次同步必冲突。这与 FR-6 的处置不同——那条本仓已本地修正是因为它只在\n本仓恒红,而这条改的是框架给所有派生仓的判据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ed4a869bde4de3243013e74e7f48454e053bd2fa","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:18:22-07:00","added":[],"removed":[],"modified":["工程基础框架/README.md","工程基础框架/基础设施仓框架变更请求-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"ed4a869bde4de3243013e74e7f48454e053bd2fa","message":"docs(框架): 提 FR-7——governance.rules 的 mode 与 ADR-0010 状态的耦合没有执行者\n\nADR-0010 正文写着「在本 ADR 仍为 Proposed 时,mode 固定为 observe」。这句话是整份\n17 条规则注册表**是建议还是约束**的唯一依据。2026-09-18 逐行走读实测:没有任何东西\n在执行它。\n\n governance.rules.schema.json 只把 mode 约束成枚举,管形状不管该是哪个\n check-governance-rules.mjs 校验了 profile 入口、例外到期、enforced 规则须有\n owner、依赖成环等多项,唯独从不判 mode——全文只在\n 成功行里把它打印出来\n generate-governance-status.mjs 按正则读了 ADR 状态,但只回显进报告,不参与判定\n\n两个方向的失效都是静默的:把 mode 翻成 enforced 而 ADR 仍 Proposed 会全绿;ADR 受理\n之后 mode 一直留在 observe 也全绿,17 条规则就此永远停在诊断态,既无提示也无复核期。\n这是「搁置没有出口」,而且落在治理模型的核心开关上。另有一处降级:decisionStatus\n取不到时静默退回 \"Unknown\" 并照常回显,ADR 标题改一个字就会让这条读取无声失效。\n\n请求逐字落实 ADR 已写的那句,不新增政策;不改 schema、不改任何规则的 severity 或\nenforcement、不改 mode 当前取值——今天跑起来仍全绿,只在有人动 mode 或动 ADR 状态时\n才说话。\n\n**本仓未做任何本地修正**:governance.rules.json、其 schema、check-governance-rules.mjs\n与 ADR-0010 四者在 enterprise-platform/runtime/ 下与框架仓逐字相同,本仓改它等于分叉\n框架治理核心,下次同步必冲突。这与 FR-6 的处置不同——那条本仓已本地修正是因为它只在\n本仓恒红,而这条改的是框架给所有派生仓的判据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ed4a869bde4de3243013e74e7f48454e053bd2fa","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:18:22-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":9714,"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:10:58+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
|
1789719507
|
1789719523
|
0
|
1789719506
|
1789719523
|
|
|
0
|
Edit
Delete
|
|
24109
|
chore(reports): runtime 验收在 clean HEAD 首次绑定 回绑 @ d chore(reports): runtime 验收在 clean HEAD 首次绑定 回绑 @ dcd1c14,刷新证据新鲜度与快照锚点...
|
76
|
5
|
governance.yml
|
62
|
5
|
0
|
refs/heads/main
|
1c8523a92bf32cb7257642251ad57e7a03ebf161
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dcd1c1486e63a7f67a0c548158823764a0b58b21","after":"1c8523a92bf32cb7257642251ad57e7a03ebf161","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/dcd1c1486e63a7f67a0c548158823764a0b58b21...1c8523a92bf32cb7257642251ad57e7a03ebf161","commits":[{"id":"1c8523a92bf32cb7257642251ad57e7a03ebf161","message":"chore(reports): runtime 验收在 clean HEAD 首次绑定 回绑 @ dcd1c14,刷新证据新鲜度与快照锚点\n\ntenant.ts 三步拆分的运行态复验。结果与拆分前基线**逐项持平**,行为中性在运行态得到证实:\n\n testsPassed 733(基线 733,地板 683)\n behaviorParityCases 204(地板 204,violations 0)\n 87 项指标零违规——迁移 deploy/status、七包串行测试、双管道竞争验收、行为矩阵、\n auth-startup、db-credential-separation(8 负例 + 2 进程隔离)、tracing(4 服务)、\n dependency-resilience(14 故障 + 14 恢复 + 半开 4)、capacity(480 请求 p95 20.0ms)、\n write-capacity(40 链路终态 + 80 派发)、multi-instance(4 进程)、\n 产品扩展 / 迁移 / SQL 运行时与产品验收(258 正 + 124 负)\n\n**首次在 clean HEAD 上绑定**:13 份运行态报告的 provenance 全部 gitSha=dcd1c14、\nworktreeDirty:false。此前那份(2026-09-14)绑的是 6396f7f 且工作区 dirty,按仓规矩只能\n绑定本地、不能作阶段门证据。\n\n基座刻意隔离,不沿用上次配置:\n- 新建独立验收库 digital_employee_os_acceptance_20260918 @127.0.0.1:55470(按 Owner 决定保留,\n 与工作区 enterprise_platform_acceptance_* 的带日期惯例一致,便于回查)\n- 新起专用 Redis 容器(redis://127.0.0.1:6404/3)——上次用的 6404 实例已不存在\n- 不用 digital_employee_os_dev_nestjs:那是 dev 库,跑验收会被测试数据反复清洗\n- 理由是 G15/O1:本机 41 个容器多仓共用端口,且实测另有并行会话正在跑 enterprise-platform\n 的 api-nestjs。上次 runtime 长期假红的根因正是共用逻辑库导致三处订阅端收不到信封\n\nCLAUDE.md 证据新鲜度两行同步刷新(三级分开陈述,不互相冒充):\n- 真实 DB:2026-09-14 🟡(dirty)→ 2026-09-18 ✅(clean dcd1c14)\n- 静态链:2026-09-14 ✅ 27/27 → 2026-09-18 🟡(clean 1994f3c 上 28 步全执行、前 27 绿,\n 末步 check:kernel-admission 诚实红 8 处)。「27/27」与「28 步 27 绿」不是退步,是多了一条\n 此前不存在的判据,且它一上来就报出真实缺口——该说明已写进文档行内,防止后来者误读为回归。\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 dcd1c14(声明落后 0,本提交自身使实测落后 1,\n落在 +1 自指窗内)。推送前已跑 check:docs-truth:assert 自检通过。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在 runtime 链内,未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/1c8523a92bf32cb7257642251ad57e7a03ebf161","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:34:51-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/runtime-acceptance.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"]}],"total_commits":0,"head_commit":{"id":"1c8523a92bf32cb7257642251ad57e7a03ebf161","message":"chore(reports): runtime 验收在 clean HEAD 首次绑定 回绑 @ dcd1c14,刷新证据新鲜度与快照锚点\n\ntenant.ts 三步拆分的运行态复验。结果与拆分前基线**逐项持平**,行为中性在运行态得到证实:\n\n testsPassed 733(基线 733,地板 683)\n behaviorParityCases 204(地板 204,violations 0)\n 87 项指标零违规——迁移 deploy/status、七包串行测试、双管道竞争验收、行为矩阵、\n auth-startup、db-credential-separation(8 负例 + 2 进程隔离)、tracing(4 服务)、\n dependency-resilience(14 故障 + 14 恢复 + 半开 4)、capacity(480 请求 p95 20.0ms)、\n write-capacity(40 链路终态 + 80 派发)、multi-instance(4 进程)、\n 产品扩展 / 迁移 / SQL 运行时与产品验收(258 正 + 124 负)\n\n**首次在 clean HEAD 上绑定**:13 份运行态报告的 provenance 全部 gitSha=dcd1c14、\nworktreeDirty:false。此前那份(2026-09-14)绑的是 6396f7f 且工作区 dirty,按仓规矩只能\n绑定本地、不能作阶段门证据。\n\n基座刻意隔离,不沿用上次配置:\n- 新建独立验收库 digital_employee_os_acceptance_20260918 @127.0.0.1:55470(按 Owner 决定保留,\n 与工作区 enterprise_platform_acceptance_* 的带日期惯例一致,便于回查)\n- 新起专用 Redis 容器(redis://127.0.0.1:6404/3)——上次用的 6404 实例已不存在\n- 不用 digital_employee_os_dev_nestjs:那是 dev 库,跑验收会被测试数据反复清洗\n- 理由是 G15/O1:本机 41 个容器多仓共用端口,且实测另有并行会话正在跑 enterprise-platform\n 的 api-nestjs。上次 runtime 长期假红的根因正是共用逻辑库导致三处订阅端收不到信封\n\nCLAUDE.md 证据新鲜度两行同步刷新(三级分开陈述,不互相冒充):\n- 真实 DB:2026-09-14 🟡(dirty)→ 2026-09-18 ✅(clean dcd1c14)\n- 静态链:2026-09-14 ✅ 27/27 → 2026-09-18 🟡(clean 1994f3c 上 28 步全执行、前 27 绿,\n 末步 check:kernel-admission 诚实红 8 处)。「27/27」与「28 步 27 绿」不是退步,是多了一条\n 此前不存在的判据,且它一上来就报出真实缺口——该说明已写进文档行内,防止后来者误读为回归。\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 dcd1c14(声明落后 0,本提交自身使实测落后 1,\n落在 +1 自指窗内)。推送前已跑 check:docs-truth:assert 自检通过。\n\n工作区内三份 reports/ui-*.latest.json 的改动早于本批次(check:ui 不在 runtime 链内,未跑),\n未提交也未还原。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/1c8523a92bf32cb7257642251ad57e7a03ebf161","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:34:51-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/runtime-acceptance.latest.json","reports/tracing.latest.json","reports/write-capacity.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":85709,"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:21:47+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
|
1789720501
|
1789720510
|
0
|
1789720501
|
1789720524
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23692
|
docs(governance): record web Playwright e2e suite
|
57
|
5
|
governance.yml
|
63
|
5
|
0
|
refs/heads/main
|
277e16585374bda952ebbc5f98f28b24e856ad76
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6c1615de2390282582b75f59b84c9166a124df69","after":"277e16585374bda952ebbc5f98f28b24e856ad76","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6c1615de2390282582b75f59b84c9166a124df69...277e16585374bda952ebbc5f98f28b24e856ad76","commits":[{"id":"277e16585374bda952ebbc5f98f28b24e856ad76","message":"docs(governance): record web Playwright e2e suite\n\nLog the scope, test discipline, verification runs (fresh self-managed\nstacks in dev and production-build mode, rebased onto main) and the\nremaining gaps of the new apps/web Playwright suite. Heavy-gate rows stay\n⚠️ 待复验 as already marked on main; no readiness claim is added.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/277e16585374bda952ebbc5f98f28b24e856ad76","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-08T08:35:25-07:00","added":["docs/governance/log/2026-09-08-web-playwright-e2e.md"],"removed":[],"modified":[]},{"id":"8d79cf1b5abccfc018e1e02f409f4a2ed5a10f97","message":"test(web): add Playwright end-to-end suite\n\n86 browser and HTTP tests for the workbench, split into onboarding (tenant\nbootstrap), desktop, mobile and api projects. The suite drives the real\nWeb BFF, NestJS API, PostgreSQL, Redis and creative worker; the model sidecar\npoints at an unreachable port so tests assert honest BLOCKED/FAILED states\ninstead of fabricated success. Each test also fails on uncaught page errors\nand unexpected console errors.\n\nThe config manages an isolated stack by default (build API, migrate, start\nAPI + creative worker, start Next in dev or production mode) or reuses a\nrunning stack via E2E_BASE_URL / E2E_API_URL / E2E_TENANT_ID.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8d79cf1b5abccfc018e1e02f409f4a2ed5a10f97","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-08T08:24:18-07:00","added":["apps/web/e2e/README.md","apps/web/e2e/global-setup.ts","apps/web/e2e/onboarding.setup.ts","apps/web/e2e/specs/admin.spec.ts","apps/web/e2e/specs/bff-security.api.spec.ts","apps/web/e2e/specs/brand.spec.ts","apps/web/e2e/specs/content-studio.spec.ts","apps/web/e2e/specs/create-studio.spec.ts","apps/web/e2e/specs/creative-project.spec.ts","apps/web/e2e/specs/edit-studio.spec.ts","apps/web/e2e/specs/landing.spec.ts","apps/web/e2e/specs/navigation.spec.ts","apps/web/e2e/specs/production.spec.ts","apps/web/e2e/specs/script-storyboard.spec.ts","apps/web/e2e/specs/templates.spec.ts","apps/web/e2e/specs/workspace.mobile.spec.ts","apps/web/e2e/stack/api.mjs","apps/web/e2e/stack/shared.mjs","apps/web/e2e/stack/web.mjs","apps/web/e2e/support/api.ts","apps/web/e2e/support/env.ts","apps/web/e2e/support/fixtures.ts","apps/web/e2e/support/workspace.ts","apps/web/playwright.config.ts"],"removed":[],"modified":[]},{"id":"60648fbe143ff1dbc2b0d145ae1a8c87774ca625","message":"chore(web): add @playwright/test and e2e scripts\n\nAdd @playwright/test@1.62.1 as a web devDependency (matching the local runner\nfallback version), register `e2e` scripts at the root and in apps/web, include\ne2e/** and playwright.config.ts in the web typecheck, give the stack launcher\nscripts Node globals in ESLint, and ignore Playwright output directories.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/60648fbe143ff1dbc2b0d145ae1a8c87774ca625","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-08T08:24:17-07:00","added":[],"removed":[],"modified":["apps/web/.gitignore","apps/web/eslint.config.mjs","apps/web/package.json","apps/web/tsconfig.json","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"277e16585374bda952ebbc5f98f28b24e856ad76","message":"docs(governance): record web Playwright e2e suite\n\nLog the scope, test discipline, verification runs (fresh self-managed\nstacks in dev and production-build mode, rebased onto main) and the\nremaining gaps of the new apps/web Playwright suite. Heavy-gate rows stay\n⚠️ 待复验 as already marked on main; no readiness claim is added.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/277e16585374bda952ebbc5f98f28b24e856ad76","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-08T08:35:25-07:00","added":["docs/governance/log/2026-09-08-web-playwright-e2e.md"],"removed":[],"modified":[]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":637278,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T23:36: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
|
1788881832
|
1788881924
|
0
|
1788881829
|
1788881924
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23977
|
chore(reports): 在 clean HEAD 8b969bc 上重跑静态门禁并回绑
|
116
|
5
|
platform.yml
|
63
|
5
|
0
|
refs/heads/main
|
68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b54b34efc535e49428e3f3d8fbe3b0e6fe204503","after":"68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/b54b34efc535e49428e3f3d8fbe3b0e6fe204503...68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","commits":[{"id":"68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","message":"chore(reports): 在 clean HEAD 8b969bc 上重跑静态门禁并回绑\n\n九份报告的 provenance 全部绑定 8b969bc、worktreeDirty=false:caddy / catalog-drift /\ncatalog-reconciliation / evidence-freshness / facts / fixtures / migration-decs /\nmodule-imports / otel。check:fixtures 17 套件 166 例 0 失败 0 不可用;catalog:drift\n仍 error 0 / drift 4(四条已知待办走 CHG-002 → 003)。\n\ncheck:evidence 由 3 条告警增至 4 条:新增的一条是\nreports/port-conformance.latest.json(绑定 dbf0fb7),作用域内变更的唯一文件是\nruntime/modules/kit/src/facts.ts —— 上一提交里那处只改了文档注释。新鲜度判定按\n作用域而非内容,分不出注释与行为,这是它该有的保守方向;该报告需要真实端口重跑才\n能回绑,本轮不伪造。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","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-15T03:06:27-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"]},{"id":"8b969bceb52bd11d9a456b51eb635350322be2d9","message":"docs: 三处把已批准的 DEC 仍写作未决前置的陈述订正\n\n工作区一致性门禁 L10(已批准的 DEC 仍被写作未决前置)在本仓报出三处:\n\n- docs/owner-matrix.md:credential 的\"权威表等 DEC-006 / 007 / 025\"、scope 的\n \"等 DEC-001—005 / 017 / 018 / 039\"、ai-gateway 的\"路由与账本等 DEC-007\"。前述\n DEC 均已于 2026-09-12 批准,改写成\"未建(阻塞不在裁决侧)\";DEC-039 例外——它\n 至今未进机器 Catalog,仍待 CHG-002 登记,这半句保留。\n- runtime/modules/kit/src/facts.ts:顺序元数据\"待 DEC-013—016 定\"已由 DEC-016\n 裁定(Owner 单调 aggregateVersion、消费者 lastAppliedVersion + 有界 gap)。\n- contracts/candidates/facts/OrganizationUnitMoved.v1.json 的 note:组织 Owner 已由\n DEC-002 裁定(A 案:逻辑独立 Organization 域,首期宿主 HR,hosted_by 显式)。\n\nblocked_by 一个字没动。候选事实的过期阻塞位与 EmploymentTransferred 同属一类,\n改动走变更包(参照 CHG-007),不在本次范围。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/8b969bceb52bd11d9a456b51eb635350322be2d9","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-15T03:05:57-07:00","added":[],"removed":[],"modified":["contracts/candidates/facts/OrganizationUnitMoved.v1.json","docs/owner-matrix.md","runtime/modules/kit/src/facts.ts"]},{"id":"171baf4983c82b9b2c1ba9cc4b3bfc7764be9a14","message":"fix(contracts): 跨清单链接规则按 DEC-009 重写 —— 门禁不该把已批准的裁决反过来写\n\nSOURCE_MANIFEST_MISMATCH 判定 productId === app.id ∧ productVersion ===\napp.version,而 DEC-009(2026-09-12 批准,A 案)写明\"三清单独立 Schema / Owner /\n版本,跨清单只存引用\"——它要求两份清单同 id 同版本,正是该裁决明令分开的东西。\n\n后果是实测出来的:12 份 AppManifest 只有 juhai.hr 碰巧满足,另三个公用应用\"补了\nsourceManifest 也过不去\",于是干脆没人补,跨清单链接整体缺位(回灌台账 U-33、\ncheck-domain-layer 的 D3 三条)。\n\n规则改为只断言 DEC-009 允许断言的那部分:引用必须解析得到一份产品清单、且不含糊。\n新增导出 resolveProductDeclaration,认单产品文件(products/\u003cid\u003e/manifest.json、\nkernel.products.entry.json)与产品列表(kernel.products.json)两种在用形状;\nSOURCE_MANIFEST_MISMATCH 由 SOURCE_MANIFEST_NOT_A_PRODUCT 与\nSOURCE_MANIFEST_AMBIGUOUS(列表里多于一个产品)取代。id 与版本的一致性不归这里\n——版本相等而内容分叉的漂移由内容摘要对账承接(GAP-10;D7 / D10)。\n\n连带修掉一条此前永远报不出来的规则:SOURCE_MANIFEST_NOT_FOUND 在文件不存在时本该\n报,实际是下一行的 readJson 先抛原始 ENOENT、门禁在收齐 issues 之前就崩。写这条的\n负向用例时它没红,才发现。check() 改为返回存在性并据此短路。规则写了、触发条件让它\n对真实输入永不成立,与 D11 判的那类假绿同源。\n\n三份 AppManifest 各补一条 app.sourceManifest(字段本就在 Schema 里,非 Schema 变更)。\n\n核验:contracts 测试 270 → 278;scripts/check.mjs exit 0;check-domain-layer --only D3\n由 3 条降为 0;根链 check:modules / check:module-imports / check:catalog / check:facts /\ncheck:caddy / check:otel 全绿,governance 测试 215/215。负向实做两次:sourceManifest\n指向 contracts/package.json 触发 NOT_A_PRODUCT,指向不存在的路径触发 NOT_FOUND。\n\n未做:镜像 平台治理/platform-contracts 的同名 linter 未同步——它是 C5 待退役的旧副本,\n两份早已分叉。三个仓的 app.version 仍是占位的 0.1.0,DEC-009 下不再影响判定。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/171baf4983c82b9b2c1ba9cc4b3bfc7764be9a14","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-15T03:05:49-07:00","added":[],"removed":[],"modified":["contracts/SOURCE.md","contracts/apps/execution-control.draft.json","contracts/apps/juhai.devicecloud.draft.json","contracts/apps/juhai.knowledgecloud.draft.json","contracts/scripts/governance-linter.mjs","contracts/test/governance-linter.test.mjs"]},{"id":"5a8ea1ffa427806d2d16ee01b8accab08b50e1fc","message":"chore(reports): 摘除跳过豁免后在 clean HEAD 8a891fc 上重跑回绑\n\ncheck:evidence 13 份已登记报告全部新鲜。余下三条 EVIDENCE_STALE 是 runtime/UI\n与主线验收报告,需真实 DB/Redis 重跑,不在静态链范围。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5a8ea1ffa427806d2d16ee01b8accab08b50e1fc","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-14T23:58:24-07:00","added":[],"removed":[],"modified":["reports/caddy.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"]},{"id":"8a891fc7c617ef141a0d750b91161e2500c8e5b4","message":"fix(governance): 摘掉 dec-039 的跳过豁免,并禁止根链再出现 allow-unavailable\n\n治理机制自身的失效模式-2026-09-14 模式一判据 3。dec-039 套件的路径此前是迁移双\n替换产物,套件报 unavailable,而根链挂着 --allow-unavailable-suite\ndec-039-party-model,于是那 25 例正反向夹具**从来没有真正跑过**,门禁一直显示\n通过。永远红至少还刺眼,永远绿是彻底的静音。\n\n路径已在 1ecac14 修好、夹具实跑 25/25,本轮把豁免开关摘掉:check:fixtures 17 套件\n166 例,不可用 0,status=passed。\n\n护栏守根因不守当时的输出:任何 package.json 脚本再出现 --allow-unavailable 即红;\n另断言最近一次 fixtures 报告的不可用套件为 0、豁免名单为空。确有套件暂时跑不了时,\n应让门禁失败并具名登记原因,而不是让它静音。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/8a891fc7c617ef141a0d750b91161e2500c8e5b4","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-14T23:58:03-07:00","added":["governance/test/no-silent-skip.test.mjs"],"removed":[],"modified":["package.json"]}],"total_commits":0,"head_commit":{"id":"68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","message":"chore(reports): 在 clean HEAD 8b969bc 上重跑静态门禁并回绑\n\n九份报告的 provenance 全部绑定 8b969bc、worktreeDirty=false:caddy / catalog-drift /\ncatalog-reconciliation / evidence-freshness / facts / fixtures / migration-decs /\nmodule-imports / otel。check:fixtures 17 套件 166 例 0 失败 0 不可用;catalog:drift\n仍 error 0 / drift 4(四条已知待办走 CHG-002 → 003)。\n\ncheck:evidence 由 3 条告警增至 4 条:新增的一条是\nreports/port-conformance.latest.json(绑定 dbf0fb7),作用域内变更的唯一文件是\nruntime/modules/kit/src/facts.ts —— 上一提交里那处只改了文档注释。新鲜度判定按\n作用域而非内容,分不出注释与行为,这是它该有的保守方向;该报告需要真实端口重跑才\n能回绑,本轮不伪造。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/68cb0ab2c652fad74b929a1bd92b6c3b91aa1dc2","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-15T03:06:27-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"]},"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":13782,"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-15T13:47:32+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
|
1789468031
|
1789468069
|
0
|
1789468031
|
1789468140
|
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
|
|
24108
|
docs(计划): 登记 FR-7 与 gate-flow 推导修正,并订正跨目录待办的 FR 清单
|
117
|
5
|
governance.yml
|
63
|
5
|
0
|
refs/heads/main
|
58a896f8a4030c0d72fa3b631d8f823f144d1650
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ed4a869bde4de3243013e74e7f48454e053bd2fa","after":"58a896f8a4030c0d72fa3b631d8f823f144d1650","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/ed4a869bde4de3243013e74e7f48454e053bd2fa...58a896f8a4030c0d72fa3b631d8f823f144d1650","commits":[{"id":"58a896f8a4030c0d72fa3b631d8f823f144d1650","message":"docs(计划): 登记 FR-7 与 gate-flow 推导修正,并订正跨目录待办的 FR 清单\n\n跨目录待办原写「余 FR-6 待受理」,漏了 FR-2 / FR-3——两条 2026-09-12 提出、09-18 复核\n仍成立并补了新证据。现改为四条:FR-2 / FR-3 / FR-6 / FR-7。\n\nFR-7:governance.rules.json 的 mode 与 ADR-0010 状态的耦合没有执行者。ADR 写着「仍为\nProposed 时 mode 固定为 observe」,而 schema 只管枚举、check-governance-rules 只打印\n不判、generate-governance-status 只回显。翻成 enforced 没人拦,ADR 受理后留在 observe\n也没人报,17 条规则会永远停在诊断态。本仓未做本地修正:那四个文件与框架逐字相同。\n\n同轮修了 check:gate-flow 的一处真缺陷:推导在 CI 原文上按名匹配,而工作流里本就有\n带 `pnpm check` 的说明行,没被误判纯属侥幸。已改为先剥注释再匹配。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/58a896f8a4030c0d72fa3b631d8f823f144d1650","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:22:21-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"58a896f8a4030c0d72fa3b631d8f823f144d1650","message":"docs(计划): 登记 FR-7 与 gate-flow 推导修正,并订正跨目录待办的 FR 清单\n\n跨目录待办原写「余 FR-6 待受理」,漏了 FR-2 / FR-3——两条 2026-09-12 提出、09-18 复核\n仍成立并补了新证据。现改为四条:FR-2 / FR-3 / FR-6 / FR-7。\n\nFR-7:governance.rules.json 的 mode 与 ADR-0010 状态的耦合没有执行者。ADR 写着「仍为\nProposed 时 mode 固定为 observe」,而 schema 只管枚举、check-governance-rules 只打印\n不判、generate-governance-status 只回显。翻成 enforced 没人拦,ADR 受理后留在 observe\n也没人报,17 条规则会永远停在诊断态。本仓未做本地修正:那四个文件与框架逐字相同。\n\n同轮修了 check:gate-flow 的一处真缺陷:推导在 CI 原文上按名匹配,而工作流里本就有\n带 `pnpm check` 的说明行,没被误判纯属侥幸。已改为先剥注释再匹配。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/58a896f8a4030c0d72fa3b631d8f823f144d1650","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:22:21-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":9730,"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:18:26+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
|
1789719744
|
1789719759
|
0
|
1789719743
|
1789719759
|
|
|
0
|
Edit
Delete
|