|
26453
|
chore(reports): close native DI11 cross-surface ac chore(reports): close native DI11 cross-surface acceptance...
|
76
|
5
|
governance.yml
|
280
|
5
|
0
|
refs/heads/main
|
5e6bb21b971313139e7800cdc1dc131e11306549
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ee24a6a786d0d176a08f38a954ea30fd93869644","after":"5e6bb21b971313139e7800cdc1dc131e11306549","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/ee24a6a786d0d176a08f38a954ea30fd93869644...5e6bb21b971313139e7800cdc1dc131e11306549","commits":[{"id":"5e6bb21b971313139e7800cdc1dc131e11306549","message":"chore(reports): close native DI11 cross-surface acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e6bb21b971313139e7800cdc1dc131e11306549","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:06:36-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-all-observed-resource-cleanup-confirmation.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-original-static-final.log.gz"],"removed":[],"modified":["CLAUDE.md","docs/evidence/di11-cross-surface-2026-10-25/verification.json","reports/agent-adapters.latest.json","reports/app-manifest.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-kit.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/product-reconciliation.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/tenant-grants.latest.json","reports/ui-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"8055f36375a225177726395455870517ce68fee4","message":"docs(di11): archive real cross-surface red green and independent acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/8055f36375a225177726395455870517ce68fee4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:59:02-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ports.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ports.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/README.md","docs/evidence/di11-cross-surface-2026-10-25/di11-cross-surface-independent-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/di11-independent-final-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/di11-independent-probes-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/green-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/green-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/verification.json"],"removed":[],"modified":["CLAUDE.md"]},{"id":"55c6ce6836cb51ff88e19d372a043961ae2a4ed8","message":"fix(di11): expose shared task pending without changing mutation state semantics\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/55c6ce6836cb51ff88e19d372a043961ae2a4ed8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:54:25-07:00","added":[],"removed":[],"modified":["apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/useTaskActions.ts"]},{"id":"369cc93e53f0fc972d49a3fa6b073eb92c967328","message":"fix(di11): share task action flights across list and detail instances\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/369cc93e53f0fc972d49a3fa6b073eb92c967328","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:53:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/workbench/useTaskActions.ts","docs/domain/work-blueprint.md"]},{"id":"ff2046125e6e503d3d9971974a7bf7eebd3e9a08","message":"test(di11): reproduce concurrent list and detail task submissions\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ff2046125e6e503d3d9971974a7bf7eebd3e9a08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:48:15-07:00","added":[],"removed":[],"modified":["apps/web/e2e/acceptance.spec.ts"]}],"total_commits":0,"head_commit":{"id":"5e6bb21b971313139e7800cdc1dc131e11306549","message":"chore(reports): close native DI11 cross-surface acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e6bb21b971313139e7800cdc1dc131e11306549","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:06:36-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-all-observed-resource-cleanup-confirmation.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-original-static-final.log.gz"],"removed":[],"modified":["CLAUDE.md","docs/evidence/di11-cross-surface-2026-10-25/verification.json","reports/agent-adapters.latest.json","reports/app-manifest.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-kit.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/product-reconciliation.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/tenant-grants.latest.json","reports/ui-acceptance.latest.json","reports/ui-nestjs-acceptance.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":137043,"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":1,"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-10-25T16:24:33+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
|
1792919290
|
1792919302
|
0
|
1792919290
|
1792919445
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26454
|
chore(reports): close native DI11 cross-surface ac chore(reports): close native DI11 cross-surface acceptance...
|
76
|
5
|
platform-governance.yml
|
281
|
5
|
0
|
refs/heads/main
|
5e6bb21b971313139e7800cdc1dc131e11306549
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ee24a6a786d0d176a08f38a954ea30fd93869644","after":"5e6bb21b971313139e7800cdc1dc131e11306549","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/ee24a6a786d0d176a08f38a954ea30fd93869644...5e6bb21b971313139e7800cdc1dc131e11306549","commits":[{"id":"5e6bb21b971313139e7800cdc1dc131e11306549","message":"chore(reports): close native DI11 cross-surface acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e6bb21b971313139e7800cdc1dc131e11306549","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:06:36-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-all-observed-resource-cleanup-confirmation.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-original-static-final.log.gz"],"removed":[],"modified":["CLAUDE.md","docs/evidence/di11-cross-surface-2026-10-25/verification.json","reports/agent-adapters.latest.json","reports/app-manifest.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-kit.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/product-reconciliation.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/tenant-grants.latest.json","reports/ui-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"8055f36375a225177726395455870517ce68fee4","message":"docs(di11): archive real cross-surface red green and independent acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/8055f36375a225177726395455870517ce68fee4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:59:02-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ports.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-green-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ports.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-cleanup.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-preflight-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-resource-ownership.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-exit.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-red-ui.log.gz","docs/evidence/di11-cross-surface-2026-10-25/README.md","docs/evidence/di11-cross-surface-2026-10-25/di11-cross-surface-independent-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/di11-independent-final-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/di11-independent-probes-20261025.json","docs/evidence/di11-cross-surface-2026-10-25/green-ui-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/green-ui-nestjs-acceptance.latest.json","docs/evidence/di11-cross-surface-2026-10-25/verification.json"],"removed":[],"modified":["CLAUDE.md"]},{"id":"55c6ce6836cb51ff88e19d372a043961ae2a4ed8","message":"fix(di11): expose shared task pending without changing mutation state semantics\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/55c6ce6836cb51ff88e19d372a043961ae2a4ed8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:54:25-07:00","added":[],"removed":[],"modified":["apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/useTaskActions.ts"]},{"id":"369cc93e53f0fc972d49a3fa6b073eb92c967328","message":"fix(di11): share task action flights across list and detail instances\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/369cc93e53f0fc972d49a3fa6b073eb92c967328","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:53:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/workbench/useTaskActions.ts","docs/domain/work-blueprint.md"]},{"id":"ff2046125e6e503d3d9971974a7bf7eebd3e9a08","message":"test(di11): reproduce concurrent list and detail task submissions\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/ff2046125e6e503d3d9971974a7bf7eebd3e9a08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T01:48:15-07:00","added":[],"removed":[],"modified":["apps/web/e2e/acceptance.spec.ts"]}],"total_commits":0,"head_commit":{"id":"5e6bb21b971313139e7800cdc1dc131e11306549","message":"chore(reports): close native DI11 cross-surface acceptance\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e6bb21b971313139e7800cdc1dc131e11306549","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:06:36-07:00","added":["docs/evidence/di11-cross-surface-2026-10-25/03-all-observed-resource-cleanup-confirmation.json","docs/evidence/di11-cross-surface-2026-10-25/03-cross-original-static-final.log.gz"],"removed":[],"modified":["CLAUDE.md","docs/evidence/di11-cross-surface-2026-10-25/verification.json","reports/agent-adapters.latest.json","reports/app-manifest.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-kit.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/product-reconciliation.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/tenant-grants.latest.json","reports/ui-acceptance.latest.json","reports/ui-nestjs-acceptance.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":137043,"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":1,"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-10-25T16:24:33+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
|
1792919302
|
1792919355
|
0
|
1792919290
|
1792919446
|
|
|
0
|
Edit
Delete
|
|
24450
|
feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费 feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)...
|
76
|
5
|
governance.yml
|
132
|
5
|
0
|
refs/heads/main
|
5e74b570d66afa7b74530bcc0264ab3c4abf95ad
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c9109de87bdf60dd818cf35dbec34de148a28e9","after":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/0c9109de87bdf60dd818cf35dbec34de148a28e9...5e74b570d66afa7b74530bcc0264ab3c4abf95ad","commits":[{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]},"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":96085,"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-24T07:10: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
|
36
|
1790205304
|
1790205313
|
0
|
1790205303
|
1790205328
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24451
|
feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费 feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)...
|
76
|
5
|
platform-governance.yml
|
133
|
5
|
0
|
refs/heads/main
|
5e74b570d66afa7b74530bcc0264ab3c4abf95ad
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c9109de87bdf60dd818cf35dbec34de148a28e9","after":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/0c9109de87bdf60dd818cf35dbec34de148a28e9...5e74b570d66afa7b74530bcc0264ab3c4abf95ad","commits":[{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]},"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":96085,"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-24T07:10: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
|
8
|
1790205313
|
1790205322
|
0
|
1790205304
|
1790205328
|
|
|
0
|
Edit
Delete
|
|
25316
|
chore(reports): SDK 发布前静态与真实验收证据回绑
|
116
|
5
|
platform.yml
|
456
|
5
|
0
|
refs/heads/main
|
5e842594e94fceae98c9366bfd57c9d2f3d32580
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0591148df9b8ff42e6794cdaa8bfaff6e9df3ced","after":"5e842594e94fceae98c9366bfd57c9d2f3d32580","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/0591148df9b8ff42e6794cdaa8bfaff6e9df3ced...5e842594e94fceae98c9366bfd57c9d2f3d32580","commits":[{"id":"5e842594e94fceae98c9366bfd57c9d2f3d32580","message":"chore(reports): SDK 发布前静态与真实验收证据回绑\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5e842594e94fceae98c9366bfd57c9d2f3d32580","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:27:42-07:00","added":[],"removed":[],"modified":["identity/reports/dual-backend-behavior.latest.json","identity/reports/runtime-acceptance.latest.json","reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/execution-slices.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-drift.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"46343340a92e6662ad84e28365337fb02f5addaa","message":"fix(release): 补齐治理包依赖并验证安装后的公开入口\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/46343340a92e6662ad84e28365337fb02f5addaa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:26:40-07:00","added":["governance/smoke-packages.mjs"],"removed":[],"modified":[".github/workflows/publish-packages.yml","docs/SDK发布记录-2026-10-10.md","governance/package.json"]},{"id":"6bb1952329f9d63b7ed2489e8183c1904ac4a56d","message":"fix(ci): 从固定源码构建执行验收存储并补齐隔离配置\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6bb1952329f9d63b7ed2489e8183c1904ac4a56d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:22:57-07:00","added":["stack/test-minio/Dockerfile","stack/test-minio/README.md"],"removed":[],"modified":[".gitea/workflows/platform.yml",".github/workflows/platform.yml","docs/SDK发布记录-2026-10-10.md","governance/check-execution-slices.mjs"]},{"id":"4c50970d336ae2781c6410f42bb470f4aa42da3e","message":"fix(ci): 补齐身份验收构建依赖与普通数据库角色\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4c50970d336ae2781c6410f42bb470f4aa42da3e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:15:59-07:00","added":[],"removed":[],"modified":[".gitea/workflows/platform.yml",".github/workflows/platform.yml","governance/test/job-readiness.test.mjs","governance/test/late-module-clients.test.mjs"]},{"id":"39ee70587d6989c2a44b0b17685c4f57fc944f5a","message":"docs(release): 对齐 rc.7 仓内版本与历史发布口径\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/39ee70587d6989c2a44b0b17685c4f57fc944f5a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:13:51-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"5e842594e94fceae98c9366bfd57c9d2f3d32580","message":"chore(reports): SDK 发布前静态与真实验收证据回绑\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5e842594e94fceae98c9366bfd57c9d2f3d32580","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T20:27:42-07:00","added":[],"removed":[],"modified":["identity/reports/dual-backend-behavior.latest.json","identity/reports/runtime-acceptance.latest.json","reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/execution-slices.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-drift.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"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":38244,"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":43,"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-10-10T11:05:28+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
|
1791602880
|
1791603061
|
0
|
1791602878
|
1791603988
|
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
|
|
25068
|
docs: draft ADR-008 Saga step auto-retry as PROPOS docs: draft ADR-008 Saga step auto-retry as PROPOSED (K8.3)...
|
121
|
5
|
kernel-ci.yml
|
421
|
5
|
0
|
refs/heads/main
|
5eb0838ca8307198edaf922ffa768cb92b76c6be
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f4203ac86e81be4a94a3731d6fc584a887ef6549","after":"5eb0838ca8307198edaf922ffa768cb92b76c6be","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/f4203ac86e81be4a94a3731d6fc584a887ef6549...5eb0838ca8307198edaf922ffa768cb92b76c6be","commits":[{"id":"5eb0838ca8307198edaf922ffa768cb92b76c6be","message":"docs: draft ADR-008 Saga step auto-retry as PROPOSED (K8.3)\n\nNot approved and not implemented. Retries only pre-commit transient failures, per-step opt-in, one\ncommand ID per step; keeps compensation with Humans and the ADR-007 deny table unchanged.\n\nCo-Authored-By: Claude Sonnet 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5eb0838ca8307198edaf922ffa768cb92b76c6be","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T16:43:41-07:00","added":["docs/decisions/ADR-008-saga-auto-retry.md"],"removed":[],"modified":["docs/decisions/README.md"]}],"total_commits":0,"head_commit":{"id":"5eb0838ca8307198edaf922ffa768cb92b76c6be","message":"docs: draft ADR-008 Saga step auto-retry as PROPOSED (K8.3)\n\nNot approved and not implemented. Retries only pre-commit transient failures, per-step opt-in, one\ncommand ID per step; keeps compensation with Humans and the ADR-007 deny table unchanged.\n\nCo-Authored-By: Claude Sonnet 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5eb0838ca8307198edaf922ffa768cb92b76c6be","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T16:43:41-07:00","added":["docs/decisions/ADR-008-saga-auto-retry.md"],"removed":[],"modified":["docs/decisions/README.md"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":270652,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":20,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-10-03T07:42: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
|
4
|
1791019093
|
1791021091
|
0
|
1790984629
|
1791021091
|
|
|
0
|
Edit
Delete
|
|
24591
|
docs(治理): 续七记 GitHub 镜像同步——三端 2b3d6d6c,run 3624367 docs(治理): 续七记 GitHub 镜像同步——三端 2b3d6d6c,run 36243674328 八 job steps=0...
|
117
|
5
|
governance.yml
|
166
|
5
|
0
|
refs/heads/main
|
5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c3fd1c899ebb74c35015767dfabca93b7eebf8dc","after":"5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/c3fd1c899ebb74c35015767dfabca93b7eebf8dc...5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","commits":[{"id":"5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","message":"docs(治理): 续七记 GitHub 镜像同步——三端 2b3d6d6c,run 36243674328 八 job steps=0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-26T06:00:50-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","message":"docs(治理): 续七记 GitHub 镜像同步——三端 2b3d6d6c,run 36243674328 八 job steps=0\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/5ebfa8feb2d36f8d9b3891ee89af7f9e25803ae8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-26T06:00:50-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":20649,"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":4,"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-26T19:26: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
|
1790427653
|
1790427743
|
0
|
1790427652
|
1790427743
|
|
|
0
|
Edit
Delete
|
|
25833
|
docs(ees): bind mainline checks to completed real docs(ees): bind mainline checks to completed real acceptance...
|
116
|
5
|
platform.yml
|
739
|
5
|
0
|
refs/heads/main
|
5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0ab07511beb35ca576c58154257fdce060585f95","after":"5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/0ab07511beb35ca576c58154257fdce060585f95...5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","commits":[{"id":"5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","message":"docs(ees): bind mainline checks to completed real acceptance\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:43:19-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/stub-surface.latest.json"]},{"id":"83ebd95b125f34304f3b72c5657d73e416ff1ed1","message":"Merge verified Task-only development acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/83ebd95b125f34304f3b72c5657d73e416ff1ed1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:43:07-07:00","added":["docs/evidence/ktv-ees-c1-real-2026-10-14/acceptance-checks.json","docs/evidence/ktv-ees-c1-real-2026-10-14/consumer-inline-validation-reference.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-approval-applied.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-approval-applied.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-binding-active.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-fixed-ui-service.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-health-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-real.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-receipt-ui.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-real.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-accepted.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-after-restart.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-pending.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-pending.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-receipt-ui.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-retry-ui-failure.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-transport-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-ui-failure-service.json"],"removed":[],"modified":["docs/evidence/ktv-ees-c1-real-2026-10-14/README.md","docs/evidence/ktv-ees-c1-real-2026-10-14/source-files.json","docs/企业实体服务/KTV首消费者开发接入批准记录-2026-10-11.md"]},{"id":"7a162a1ef4c76968232de905694fa22be5bb3b44","message":"docs(ees): close Task-only real normal denial and recovery acceptance\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/7a162a1ef4c76968232de905694fa22be5bb3b44","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:43:06-07:00","added":["docs/evidence/ktv-ees-c1-real-2026-10-14/acceptance-checks.json","docs/evidence/ktv-ees-c1-real-2026-10-14/consumer-inline-validation-reference.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-approval-applied.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-approval-applied.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-binding-active.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-fixed-ui-service.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-health-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-real.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-receipt-ui.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-fixed-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-real.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-normal-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-accepted.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-after-restart.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-pending.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-pending.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-receipt-ui.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-recovery-receipt.jpg","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-retry-ui-failure.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-transport-final.json","docs/evidence/ktv-ees-c1-real-2026-10-14/ktv-ees-c1-ui-failure-service.json"],"removed":[],"modified":["docs/evidence/ktv-ees-c1-real-2026-10-14/README.md","docs/evidence/ktv-ees-c1-real-2026-10-14/source-files.json","docs/企业实体服务/KTV首消费者开发接入批准记录-2026-10-11.md"]},{"id":"36a5db2fc93bab560bc5b8b7b19c8283bf9cdfdd","message":"chore(reports): doc-claims、stub-surface、evidence-freshness 在合并 ea20b5d5 后重跑回绑(三份为合并冲突文件;51 新鲜 / 11 过期不变)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/36a5db2fc93bab560bc5b8b7b19c8283bf9cdfdd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:22:41-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/stub-surface.latest.json"]},{"id":"ea20b5d51fec56a82bd8f848cb7a6628a77899be","message":"Merge branch 'claude/ees-native-queries-20261014'\n\n# Conflicts:\n#\treports/doc-claims.latest.json\n#\treports/evidence-freshness.latest.json\n#\treports/stub-surface.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ea20b5d51fec56a82bd8f848cb7a6628a77899be","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:22:07-07:00","added":["runtime/services/enterprise-entity-service/src/domains/native-query-relations.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/booking-grid.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/capacity.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/catalog.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/command-descriptions.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/contracts/command-payloads.v1.schema.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/contracts/event-payloads.v1.schema.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/ees-domain-package.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/entity-commands.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/entity-reads.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/instances.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/inventory.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/queries.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/001_thing.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/002_thing_read_guards.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/003_thing_reservation_window.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/004_thing_vouchers.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/005_thing_capacity_pool_binding.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/006_thing_instances.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/007_thing_inventory.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/008_thing_canonical_ids.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/009_thing_instance_stock_lines.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/010_thing_instance_relations.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/011_thing_booking_grid.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/sql/012_thing_booking_grid_fragments.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/thing.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.15.0/vouchers.mjs"],"removed":["runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/booking-grid.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/capacity.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/catalog.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/command-descriptions.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/contracts/command-payloads.v1.schema.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/contracts/event-payloads.v1.schema.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/ees-domain-package.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/entity-commands.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/entity-reads.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/instances.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/inventory.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/queries.json","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/001_thing.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/002_thing_read_guards.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/003_thing_reservation_window.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/004_thing_vouchers.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/005_thing_capacity_pool_binding.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/006_thing_instances.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/007_thing_inventory.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/008_thing_canonical_ids.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/009_thing_instance_stock_lines.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/010_thing_instance_relations.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/011_thing_booking_grid.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/sql/012_thing_booking_grid_fragments.sql","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/thing.mjs","runtime/services/enterprise-entity-service/src/domains/packages/ees.domain.thing@0.14.0/vouchers.mjs"],"modified":["docs/企业实体服务/客商财域包候选-2026-10-11.md","governance/enterprise-entity-service-domain-packages.json","reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/capability-acceptance.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/release-drift.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/services/enterprise-entity-service/scripts/generate-domain-contracts.mjs","runtime/services/enterprise-entity-service/sdk/README.md","runtime/services/enterprise-entity-service/sdk/scripts/build.mjs","runtime/services/enterprise-entity-service/src/domains/catalog.mjs","runtime/services/enterprise-entity-service/src/domains/contracts/entity-runtime-api.v1.openapi.json","runtime/services/enterprise-entity-service/src/domains/derived/owner-bindings.draft.v1.json","runtime/services/enterprise-entity-service/src/domains/derived/tools.v1.json","runtime/services/enterprise-entity-service/src/domains/packages.lock.json","runtime/services/enterprise-entity-service/src/domains/queries.mjs","runtime/services/enterprise-entity-service/test/domain-queries.test.mjs","runtime/services/enterprise-entity-service/test/entity-runtime.test.mjs","runtime/services/enterprise-entity-service/test/fixtures/domain-packages/packages.lock.json","runtime/services/enterprise-entity-service/test/fixtures/domain-packages/upgrade.lock.json"]}],"total_commits":0,"head_commit":{"id":"5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","message":"docs(ees): bind mainline checks to completed real acceptance\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5edd6b2bf7ca4f88d726e0afc4e05a108a0f1703","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-14T19:43:19-07:00","added":[],"removed":[],"modified":["reports/doc-claims.latest.json","reports/evidence-freshness.latest.json","reports/stub-surface.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":58180,"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":53,"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-10-15T09:59:46+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1792032225
|
1792032227
|
0
|
1792032225
|
1792032239
|
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
|
|
23578
|
fix(gate): 测试数解析先剥 ANSI——地板校验在 CI 上恒读 0(假红)
|
54
|
5
|
governance.yml
|
21
|
5
|
0
|
refs/heads/main
|
5f156175e6f2397c334fcd3eb5cde4e45423b68b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"74b464480301493d008b476e72247f7289ccbffb","after":"5f156175e6f2397c334fcd3eb5cde4e45423b68b","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/74b464480301493d008b476e72247f7289ccbffb...5f156175e6f2397c334fcd3eb5cde4e45423b68b","commits":[{"id":"5f156175e6f2397c334fcd3eb5cde4e45423b68b","message":"fix(gate): 测试数解析先剥 ANSI——地板校验在 CI 上恒读 0(假红)\n\n远端第三次真跑:static job 绿,runtime job 报\n\n Tests passed regressed: expected \u003e= 202, got 0.\n\n但下载 CI 上传的证据 artifact 看,test 步骤 status=0、4 个 turbo 任务全成功、\nFastify 明明 58 passed——测试全跑过了,是 runner 的**解析**失效。\n\n根因:GitHub Actions 支持颜色,vitest/turbo 因此输出带色汇总行,\"Tests\" 与数字之间\n夹着 ANSI 转义序列,`/Tests\\s+(\\d+)\\s+passed/` 匹配不到。本地非 TTY 无色所以一直有效——\n这条地板在本地有牙、在 CI 上恒读 0,属于「同一门禁在两个环境语义不同」。\n方向上它是 fail-closed(0 \u003c 202 判红)而非假绿,但仍是假红,会把真实回归淹没在噪声里。\n\ncountPassedTests 改为先 stripAnsi 再匹配。\n验证:用真实 CI 那行带色文本喂解析器,剥离前 0、剥离后 58;\n本地 check:runtime 仍读到 202(exit 0)。\n\nUI runner 不受影响:它读 Playwright 的 JSON 统计,不解析终端文本。\n\n这是加回 GitHub 远端后暴露的第三条「只有远端才看得见」的缺陷\n(前两条:checkout 浅克隆让 F5 误判、差分门禁依赖磁盘残留的 contracts dist)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/5f156175e6f2397c334fcd3eb5cde4e45423b68b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-31T17:43:13-07:00","added":[],"removed":[],"modified":["scripts/check-runtime-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"5f156175e6f2397c334fcd3eb5cde4e45423b68b","message":"fix(gate): 测试数解析先剥 ANSI——地板校验在 CI 上恒读 0(假红)\n\n远端第三次真跑:static job 绿,runtime job 报\n\n Tests passed regressed: expected \u003e= 202, got 0.\n\n但下载 CI 上传的证据 artifact 看,test 步骤 status=0、4 个 turbo 任务全成功、\nFastify 明明 58 passed——测试全跑过了,是 runner 的**解析**失效。\n\n根因:GitHub Actions 支持颜色,vitest/turbo 因此输出带色汇总行,\"Tests\" 与数字之间\n夹着 ANSI 转义序列,`/Tests\\s+(\\d+)\\s+passed/` 匹配不到。本地非 TTY 无色所以一直有效——\n这条地板在本地有牙、在 CI 上恒读 0,属于「同一门禁在两个环境语义不同」。\n方向上它是 fail-closed(0 \u003c 202 判红)而非假绿,但仍是假红,会把真实回归淹没在噪声里。\n\ncountPassedTests 改为先 stripAnsi 再匹配。\n验证:用真实 CI 那行带色文本喂解析器,剥离前 0、剥离后 58;\n本地 check:runtime 仍读到 202(exit 0)。\n\nUI runner 不受影响:它读 Playwright 的 JSON 统计,不解析终端文本。\n\n这是加回 GitHub 远端后暴露的第三条「只有远端才看得见」的缺陷\n(前两条:checkout 浅克隆让 F5 误判、差分门禁依赖磁盘残留的 contracts dist)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/5f156175e6f2397c334fcd3eb5cde4e45423b68b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-31T17:43:13-07:00","added":[],"removed":[],"modified":["scripts/check-runtime-acceptance.mjs"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2640,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.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-07-03T12:24:18+08:00","updated_at":"2026-09-01T08:37:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788223469
|
1788223508
|
0
|
1788223468
|
1788223517
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24156
|
test(contracts): 注册中心 upgrade 的请求体检面——15 条原因码只有实现没 test(contracts): 注册中心 upgrade 的请求体检面——15 条原因码只有实现没有用例...
|
116
|
5
|
platform.yml
|
133
|
5
|
0
|
refs/heads/main
|
5f3f6084506e2a173759f07f882713ffdd4111ae
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"352e61531916d12d6eb804674f5e49796104fd06","after":"5f3f6084506e2a173759f07f882713ffdd4111ae","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/352e61531916d12d6eb804674f5e49796104fd06...5f3f6084506e2a173759f07f882713ffdd4111ae","commits":[{"id":"5f3f6084506e2a173759f07f882713ffdd4111ae","message":"test(contracts): 注册中心 upgrade 的请求体检面——15 条原因码只有实现没有用例\n\n同日「注册中心入参体检的门禁覆盖」补的是 snapshot / transition 两条规则;按同一口径把 upgrade 也算了\n一遍,15 条「哪里都没有」,全部在四条就绪闸门下面那层请求校验:\n\n 两个 pin 的锁定四要素(snapshotVersion / snapshotDigest / sourceCommit / lockMode=exact_digest)\n 与消费者归属 10 条\n 目标制品的 schemaApiVersion 与 linter 证据 2 条\n 影响面的受影响清单、已确认清单与消费者归属比对 3 条\n\n此前 6 个 upgrade 用例全部对着四条就绪闸门(independentGitSourceReady 等各一条真值用例,那部分做得\n完整)。闸门开了之后请求本身长什么样,门禁不看——这 15 条删掉不会红。我今天早些时候说「upgrade 那半边\n做得很扎实」是说窄了:说的是闸门,不是闸门下面的请求面。\n\n补:夹具 25 → 32 例(N21–N27),单测 49 → 53 例。成组声明是有意的——门禁要求声明的原因逐条出现,\n所以一条用例同时钉住四要素,比四条各钉一条更严。补后重算:本域「哪里都没有」归 0。\n\n负向实测:给 N21 加一条不会产生的声明原因 → 门禁 exit 1 并点名该例,恢复后转绿。\n\n本条只补覆盖,没有改任何判定;snapshot-upgrade-review.ts 一行未动。\n九个契约包至此「哪里都没有」全部归零。\n\n证据:在仅含本提交改动的导出树上 tsc 绿、定向 53/53、contract-application-contract-registry 32/32。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5f3f6084506e2a173759f07f882713ffdd4111ae","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:59:45-07:00","added":[],"removed":[],"modified":["contracts/SOURCE.md","contracts/test/application-contract-registry-domain.test.mjs","contracts/test/fixtures/application-contract-registry.fixtures.json"]}],"total_commits":0,"head_commit":{"id":"5f3f6084506e2a173759f07f882713ffdd4111ae","message":"test(contracts): 注册中心 upgrade 的请求体检面——15 条原因码只有实现没有用例\n\n同日「注册中心入参体检的门禁覆盖」补的是 snapshot / transition 两条规则;按同一口径把 upgrade 也算了\n一遍,15 条「哪里都没有」,全部在四条就绪闸门下面那层请求校验:\n\n 两个 pin 的锁定四要素(snapshotVersion / snapshotDigest / sourceCommit / lockMode=exact_digest)\n 与消费者归属 10 条\n 目标制品的 schemaApiVersion 与 linter 证据 2 条\n 影响面的受影响清单、已确认清单与消费者归属比对 3 条\n\n此前 6 个 upgrade 用例全部对着四条就绪闸门(independentGitSourceReady 等各一条真值用例,那部分做得\n完整)。闸门开了之后请求本身长什么样,门禁不看——这 15 条删掉不会红。我今天早些时候说「upgrade 那半边\n做得很扎实」是说窄了:说的是闸门,不是闸门下面的请求面。\n\n补:夹具 25 → 32 例(N21–N27),单测 49 → 53 例。成组声明是有意的——门禁要求声明的原因逐条出现,\n所以一条用例同时钉住四要素,比四条各钉一条更严。补后重算:本域「哪里都没有」归 0。\n\n负向实测:给 N21 加一条不会产生的声明原因 → 门禁 exit 1 并点名该例,恢复后转绿。\n\n本条只补覆盖,没有改任何判定;snapshot-upgrade-review.ts 一行未动。\n九个契约包至此「哪里都没有」全部归零。\n\n证据:在仅含本提交改动的导出树上 tsc 绿、定向 53/53、contract-application-contract-registry 32/32。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5f3f6084506e2a173759f07f882713ffdd4111ae","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:59:45-07:00","added":[],"removed":[],"modified":["contracts/SOURCE.md","contracts/test/application-contract-registry-domain.test.mjs","contracts/test/fixtures/application-contract-registry.fixtures.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":19968,"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":44,"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-19T06:59: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
|
3
|
14
|
0
|
1789772427
|
0
|
1789772398
|
1789772427
|
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
|
|
24715
|
Record verified 0.124.0 execution provenance deplo Record verified 0.124.0 execution provenance deployment...
|
121
|
5
|
kernel-ci.yml
|
70
|
5
|
0
|
refs/heads/main
|
5f491eebd2a863b1c00a9a10b76a7e5b63310b9f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"22432eebb899c3eb9191f8108e5b4657423eb3d0","after":"5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/22432eebb899c3eb9191f8108e5b4657423eb3d0...5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","commits":[{"id":"5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","message":"Record verified 0.124.0 execution provenance deployment\n\nK9.3 is appended to the plan ledger as done with its runtime deployment\nrecord, the v0.124.0 anchor points at the fixed live source, and UDM-12\ncloses as local_complete with the commercial (P2.7g) and platform (P2.7e)\ncross-application origins as the named external gaps.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T20:51:19-07:00","added":["ops/deployments/2026-09-29-execution-provenance-01240-local.md"],"removed":[],"modified":["docs/invariant-registry.md","docs/plan-ledger.md","model/invariant-registry.json","model/plan-ledger.json","model/release-anchors.json"]}],"total_commits":0,"head_commit":{"id":"5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","message":"Record verified 0.124.0 execution provenance deployment\n\nK9.3 is appended to the plan ledger as done with its runtime deployment\nrecord, the v0.124.0 anchor points at the fixed live source, and UDM-12\ncloses as local_complete with the commercial (P2.7g) and platform (P2.7e)\ncross-application origins as the named external gaps.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f491eebd2a863b1c00a9a10b76a7e5b63310b9f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T20:51:19-07:00","added":["ops/deployments/2026-09-29-execution-provenance-01240-local.md"],"removed":[],"modified":["docs/invariant-registry.md","docs/plan-ledger.md","model/invariant-registry.json","model/plan-ledger.json","model/release-anchors.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":63397,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":15,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-09-30T11:47:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1790740677
|
1790741167
|
0
|
1790740283
|
1790741167
|
|
|
0
|
Edit
Delete
|
|
23817
|
test: verify the merged brief-candidates branch at test: verify the merged brief-candidates branch at the new fingerprint...
|
57
|
5
|
governance.yml
|
183
|
5
|
0
|
refs/heads/main
|
5f5bbd7e2fc3df1771de60b488bef8528df834cb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"416d9a34314fbcb00cd65866fd3f4521dd97ca9f","after":"5f5bbd7e2fc3df1771de60b488bef8528df834cb","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/416d9a34314fbcb00cd65866fd3f4521dd97ca9f...5f5bbd7e2fc3df1771de60b488bef8528df834cb","commits":[{"id":"5f5bbd7e2fc3df1771de60b488bef8528df834cb","message":"test: verify the merged brief-candidates branch at the new fingerprint\n\nSeven heavy gates plus pnpm check pass after merging main (plan-cand1); CLAUDE.md heavy rows re-marked.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5f5bbd7e2fc3df1771de60b488bef8528df834cb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T21:19:01-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-brief-candidates-2026-09-09/README.md","reports/content-detail.images-desktop.png","reports/content-detail.plans-desktop.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/director-workbench.desktop.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","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/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-asset-dialog.mobile.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1440.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-saved-master.SCENE.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"1ea8882cf39506281b3e8f0df13cdb355c967e3e","message":"Merge branch 'main' into feat/content-brief-candidates\n\n# Conflicts:\n#\tCLAUDE.md\n#\tapps/web/src/components/material-factory/ContentStudio.tsx\n#\treports/admin-brands.mobile.png\n#\treports/content-detail.output-mobile.png\n#\treports/contract-consumers.latest.json\n#\treports/creative-history-hidden.desktop.png\n#\treports/creative-history-restore.mobile.png\n#\treports/creative-quality.desktop.png\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/image-creation-1440.png\n#\treports/image-edit-1135.png\n#\treports/image-edit-1440.png\n#\treports/image-edit-390.png\n#\treports/image-edit-768.png\n#\treports/image-edit-result.png\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/model-api-key-saved.png\n#\treports/model-credential-error.desktop.png\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/prd-retry.mobile.png\n#\treports/prd-review.desktop.png\n#\treports/production-acceptance.latest.json\n#\treports/production-delivery-released.desktop.png\n#\treports/production-delivery-revoked.mobile.png\n#\treports/production-pagination.desktop.png\n#\treports/production-pagination.mobile.png\n#\treports/production-review-preview.desktop.png\n#\treports/production-security.latest.json\n#\treports/production-single-tenant-create.desktop.png\n#\treports/production-single-tenant-separation.desktop.png\n#\treports/public-file-acceptance.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-acceptance.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/script-acceptance.latest.json\n#\treports/script-generation-queue.png\n#\treports/sidecar-tests.latest.json\n#\treports/storyboard-asset-dialog.desktop.png\n#\treports/storyboard-director-guard.latest.json\n#\treports/storyboard-frame-dialog.desktop.first.png\n#\treports/template-making.1440.png\n#\treports/template-saved-master.APPLICATION.png\n#\treports/template-saved-master.GENERAL.png\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.desktop.png\n#\treports/ui-acceptance.draft-import.png\n#\treports/ui-acceptance.latest.json\n#\treports/ux-edit.desktop.png\n#\treports/ux-intake.desktop.png\n#\treports/validation-source.latest.json\n#\treports/video-batch-paused.mobile.png\n#\treports/video-regenerate-2026-09-08/desktop.png\n#\treports/video-regenerate-2026-09-08/mobile.png\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1ea8882cf39506281b3e8f0df13cdb355c967e3e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T21:07:50-07:00","added":["docs/governance/log/2026-09-10-illustration-brief-candidates.md","docs/releases/2026-09-10-plan-cand1.md","reports/illustration-brief-candidates-2026-09-10/README.md"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-nestjs/src/creative-project/content.service.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/test/content-workbench.integration.test.ts","apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/content-studio.module.css","docs/product/content-creation-workbench.md","docs/releases/current.md","packages/contracts/src/content.test.ts","packages/contracts/src/content.ts","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-detail.images-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","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/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1440.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"d829bfd96ef0cf73377d098747a769fbbaa1a38a","message":"test: verify the background-polling fix at the new fingerprint\n\nSeven heavy gates plus pnpm check pass on the isolated stack; CLAUDE.md heavy rows re-marked.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d829bfd96ef0cf73377d098747a769fbbaa1a38a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T21:05:13-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.mobile.png","reports/content-brief-candidates-2026-09-09/README.md","reports/content-detail.output-mobile.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/director-workbench.desktop.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","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/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-asset-dialog.mobile.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/template-making.1135.png","reports/template-making.1280.png","reports/template-making.1440.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-saved-master.SCENE.png","reports/template-types.desktop.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ux-edit.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"55b4b34f91af41d79bbee983f3038a393461c35b","message":"fix(web): keep polling creative operations in background panes and surface unadopted draft candidates\n\nEmbedded browser panes report the document as hidden and never focused, so\nwith refetchIntervalInBackground off the content workbench never learned that\na task had finished: no candidate dialog, editor stuck on the empty state.\nPoll in the background (2.5 s while work is live, 30 s idle) and, on the draft\nempty state, point to unadopted draft candidates.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/55b4b34f91af41d79bbee983f3038a393461c35b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T21:04:34-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/creative-project-queries.ts","docs/governance/log/2026-09-09-content-brief-candidates.md","reports/content-brief-candidates-2026-09-09/README.md"]}],"total_commits":0,"head_commit":{"id":"5f5bbd7e2fc3df1771de60b488bef8528df834cb","message":"test: verify the merged brief-candidates branch at the new fingerprint\n\nSeven heavy gates plus pnpm check pass after merging main (plan-cand1); CLAUDE.md heavy rows re-marked.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5f5bbd7e2fc3df1771de60b488bef8528df834cb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T21:19:01-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-brief-candidates-2026-09-09/README.md","reports/content-detail.images-desktop.png","reports/content-detail.plans-desktop.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/director-workbench.desktop.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","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/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-asset-dialog.mobile.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1440.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-saved-master.SCENE.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},"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":762749,"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":8,"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-10T12:01: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
|
1789013979
|
1789014020
|
0
|
1789013978
|
1789014020
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24658
|
Record verified release governance slices
|
121
|
5
|
kernel-ci.yml
|
13
|
5
|
0
|
refs/heads/main
|
5f607eb22a5ef160fdc74423910299d135063168
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"21d073490c60bb141a267af9424b9f0ef7c3440d","after":"5f607eb22a5ef160fdc74423910299d135063168","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/21d073490c60bb141a267af9424b9f0ef7c3440d...5f607eb22a5ef160fdc74423910299d135063168","commits":[{"id":"5f607eb22a5ef160fdc74423910299d135063168","message":"Record verified release governance slices\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f607eb22a5ef160fdc74423910299d135063168","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:57:38-07:00","added":[],"removed":[],"modified":["model/plan-ledger.json"]},{"id":"239f2c763e90332c51604e63564d91657538e010","message":"Integrate verified release anchors\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/239f2c763e90332c51604e63564d91657538e010","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:56:25-07:00","added":["docs/release-anchors.md","model/release-anchors.json","ops/deployments/2026-09-29-release-anchor-backfill-local.md","scripts/check-release-anchors.js"],"removed":[],"modified":["ops/runbook.md","package.json"]},{"id":"2d6d24acc989cd2f9da43b3a0e15bac7366ed6e7","message":"Integrate release metadata conflict controls\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/2d6d24acc989cd2f9da43b3a0e15bac7366ed6e7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:55:33-07:00","added":["docs/releases/0.107.0.md","docs/releases/0.108.0.md","docs/releases/README.md","docs/releases/candidates/README.md","scripts/prepare-release.js","test/prepare-release.test.js"],"removed":[],"modified":["README.md","docs/all-local-event-payload-contracts.md","docs/claims.json","docs/roadmap.md","ops/runbook.md","scripts/check-doc-claims.js"]},{"id":"932f66bcfe3722a193971e340995218a7b739c86","message":"Resolve release anchor paths in Unicode worktrees\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/932f66bcfe3722a193971e340995218a7b739c86","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:55:27-07:00","added":[],"removed":[],"modified":["scripts/check-release-anchors.js"]},{"id":"7fd8043b0bfe2509368a0f4ba59e7bcb5d80a619","message":"Document verified runner image pull blocker\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/7fd8043b0bfe2509368a0f4ba59e7bcb5d80a619","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:54:24-07:00","added":[],"removed":[],"modified":["docs/local-ci.md"]}],"total_commits":0,"head_commit":{"id":"5f607eb22a5ef160fdc74423910299d135063168","message":"Record verified release governance slices\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f607eb22a5ef160fdc74423910299d135063168","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:57:38-07:00","added":[],"removed":[],"modified":["model/plan-ledger.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":33664,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-09-30T01:15: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
|
1790704681
|
1790704711
|
0
|
1790704679
|
1790704711
|
|
|
0
|
Edit
Delete
|
|
23880
|
feat(platform): consume verified RC contracts and feat(platform): consume verified RC contracts and governance with private CI auth...
|
76
|
5
|
governance.yml
|
40
|
5
|
0
|
refs/heads/main
|
5f885a2a77b66d0ae55dff6ae8f1e2a64e087670
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a772517da3040f54e5d2c91fa5e1c133cabd3c17","after":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/a772517da3040f54e5d2c91fa5e1c133cabd3c17...5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","commits":[{"id":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","message":"feat(platform): consume verified RC contracts and governance with private CI auth\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:30-07:00","added":[".github/workflows/platform-governance.yml","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".npmrc","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","docs/operations/production-runbook.md","package.json","pnpm-lock.yaml","scripts/check-all.mjs"]}],"total_commits":0,"head_commit":{"id":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","message":"feat(platform): consume verified RC contracts and governance with private CI auth\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:30-07:00","added":[".github/workflows/platform-governance.yml","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".npmrc","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","docs/operations/production-runbook.md","package.json","pnpm-lock.yaml","scripts/check-all.mjs"]},"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":82774,"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":2,"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-05T13:02:37+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
|
1789203138
|
1789203259
|
0
|
1789203137
|
1789203381
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23881
|
feat(platform): consume verified RC contracts and feat(platform): consume verified RC contracts and governance with private CI auth...
|
76
|
5
|
platform-governance.yml
|
41
|
5
|
0
|
refs/heads/main
|
5f885a2a77b66d0ae55dff6ae8f1e2a64e087670
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a772517da3040f54e5d2c91fa5e1c133cabd3c17","after":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/a772517da3040f54e5d2c91fa5e1c133cabd3c17...5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","commits":[{"id":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","message":"feat(platform): consume verified RC contracts and governance with private CI auth\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:30-07:00","added":[".github/workflows/platform-governance.yml","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".npmrc","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","docs/operations/production-runbook.md","package.json","pnpm-lock.yaml","scripts/check-all.mjs"]}],"total_commits":0,"head_commit":{"id":"5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","message":"feat(platform): consume verified RC contracts and governance with private CI auth\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5f885a2a77b66d0ae55dff6ae8f1e2a64e087670","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:30-07:00","added":[".github/workflows/platform-governance.yml","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".npmrc","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","docs/operations/production-runbook.md","package.json","pnpm-lock.yaml","scripts/check-all.mjs"]},"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":82774,"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":2,"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-05T13:02:37+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
|
1789203259
|
1789203290
|
0
|
1789203137
|
1789203381
|
|
|
0
|
Edit
Delete
|
|
25683
|
Correctly check symlinks (#103)
|
138
|
5
|
codeql-analysis.yml
|
5
|
5
|
0
|
refs/tags/v2.1.1
|
5f948bc1f0a251f88bb4c9b1c3dfa6cbd1327dc5
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v2.1.1","bef {"ref":"refs/tags/v2.1.1","before":"0000000000000000000000000000000000000000","after":"5f948bc1f0a251f88bb4c9b1c3dfa6cbd1327dc5","compare_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/compare/0000000000000000000000000000000000000000...5f948bc1f0a251f88bb4c9b1c3dfa6cbd1327dc5","commits":[],"total_commits":0,"head_commit":{"id":"5f948bc1f0a251f88bb4c9b1c3dfa6cbd1327dc5","message":"Correctly check symlinks (#103)\n\n","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/5f948bc1f0a251f88bb4c9b1c3dfa6cbd1327dc5","author":{"name":"Konrad Pabjan","email":"konradpabjan@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2020-07-27T15:41:16+02:00","added":[],"removed":[],"modified":["dist/index.js","src/search.ts"]},"repository":{"id":138,"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":"actions-upload-artifact","full_name":"luoanwu/actions-upload-artifact","description":"Mirror of github.com/actions/upload-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-upload-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-10-13T06:37:06+08:00","updated_at":"2026-10-13T06:38: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
|
4
|
1791849391
|
1791850423
|
0
|
1791844728
|
1791850423
|
|
|
0
|
Edit
Delete
|
|
24274
|
chore(reports): verify all registered evidence is chore(reports): verify all registered evidence is current...
|
116
|
5
|
platform.yml
|
208
|
5
|
0
|
refs/heads/main
|
5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"04b93d8d6d93f40ceba7715985491a0ef892c489","after":"5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/04b93d8d6d93f40ceba7715985491a0ef892c489...5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","commits":[{"id":"5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","message":"chore(reports): verify all registered evidence is current\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-19T19:33:13-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/governance-docs.latest.json"]},{"id":"d0758d902d4127513ebbf1c830d357fb66dd651a","message":"docs: close identity MCP and UI matrix evidence gaps\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d0758d902d4127513ebbf1c830d357fb66dd651a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-19T19:32:37-07:00","added":[],"removed":[],"modified":["docs/五阶段治理推进-2026-09-20.md","reports/identity-ui.latest.json","reports/mcp-writes.latest.json","runtime/CLAUDE.md","runtime/reports/ui-acceptance.latest.json"]}],"total_commits":0,"head_commit":{"id":"5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","message":"chore(reports): verify all registered evidence is current\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5fc7b0cf2ea5d5f65da2039e4e875cbd59b612d6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-19T19:33:13-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/governance-docs.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":28405,"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":44,"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-20T09:51:48+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
|
1789871712
|
1789872178
|
0
|
1789871711
|
1789872539
|
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
|
|
26730
|
test(scope): bind serial runtime UI and static gat test(scope): bind serial runtime UI and static gates to merged tenant view...
|
83
|
5
|
governance.yml
|
186
|
5
|
0
|
refs/heads/main
|
5fde73a0bef06f57d7a26283eeb369c65cf309e0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"152a1eb9978cd9eb8e2a16820f4037df05e9f339","after":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/152a1eb9978cd9eb8e2a16820f4037df05e9f339...5fde73a0bef06f57d7a26283eeb369c65cf309e0","commits":[{"id":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","message":"test(scope): bind serial runtime UI and static gates to merged tenant view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/5fde73a0bef06f57d7a26283eeb369c65cf309e0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:31:52-07:00","added":["docs/evidence/juhai-scope-tenant-merge-2026-10-31.json"],"removed":[],"modified":["reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"657f00e196c01239ca20c5c01971fa73fa814a88","message":"merge: add bounded juhai Scope view over current main\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/657f00e196c01239ca20c5c01971fa73fa814a88","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:22:10-07:00","added":["apps/api-nestjs/src/scope-source/partition-reader.ts","packages/scope-source/src/errors.ts","packages/scope-source/src/tenant-partitions.test.ts","packages/scope-source/src/tenant-partitions.ts"],"removed":[],"modified":["apps/api-nestjs/src/scope-source/organization-bootstrap-delivery.ts","apps/api-nestjs/src/scope-source/scope-source.module.ts","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/scope-source/src/index.ts"]},{"id":"69e4314a120dc0c254fa7d80e9ecec0d10b98ceb","message":"feat(scope): add Owner bounded same snapshot tenant merge view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/69e4314a120dc0c254fa7d80e9ecec0d10b98ceb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:22:10-07:00","added":["apps/api-nestjs/src/scope-source/partition-reader.ts","packages/scope-source/src/errors.ts","packages/scope-source/src/tenant-partitions.test.ts","packages/scope-source/src/tenant-partitions.ts"],"removed":[],"modified":["apps/api-nestjs/src/scope-source/organization-bootstrap-delivery.ts","apps/api-nestjs/src/scope-source/scope-source.module.ts","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/scope-source/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","message":"test(scope): bind serial runtime UI and static gates to merged tenant view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/5fde73a0bef06f57d7a26283eeb369c65cf309e0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:31:52-07:00","added":["docs/evidence/juhai-scope-tenant-merge-2026-10-31.json"],"removed":[],"modified":["reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"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":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":19993,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":12,"open_issues_count":0,"open_pr_counter":7,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-10-29T11:02: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
|
2
|
6
|
1793511146
|
1793511169
|
0
|
1793511145
|
1793511171
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26731
|
test(scope): bind serial runtime UI and static gat test(scope): bind serial runtime UI and static gates to merged tenant view...
|
83
|
5
|
platform-governance.yml
|
187
|
5
|
0
|
refs/heads/main
|
5fde73a0bef06f57d7a26283eeb369c65cf309e0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"152a1eb9978cd9eb8e2a16820f4037df05e9f339","after":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/152a1eb9978cd9eb8e2a16820f4037df05e9f339...5fde73a0bef06f57d7a26283eeb369c65cf309e0","commits":[{"id":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","message":"test(scope): bind serial runtime UI and static gates to merged tenant view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/5fde73a0bef06f57d7a26283eeb369c65cf309e0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:31:52-07:00","added":["docs/evidence/juhai-scope-tenant-merge-2026-10-31.json"],"removed":[],"modified":["reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"657f00e196c01239ca20c5c01971fa73fa814a88","message":"merge: add bounded juhai Scope view over current main\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/657f00e196c01239ca20c5c01971fa73fa814a88","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:22:10-07:00","added":["apps/api-nestjs/src/scope-source/partition-reader.ts","packages/scope-source/src/errors.ts","packages/scope-source/src/tenant-partitions.test.ts","packages/scope-source/src/tenant-partitions.ts"],"removed":[],"modified":["apps/api-nestjs/src/scope-source/organization-bootstrap-delivery.ts","apps/api-nestjs/src/scope-source/scope-source.module.ts","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/scope-source/src/index.ts"]},{"id":"69e4314a120dc0c254fa7d80e9ecec0d10b98ceb","message":"feat(scope): add Owner bounded same snapshot tenant merge view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/69e4314a120dc0c254fa7d80e9ecec0d10b98ceb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:22:10-07:00","added":["apps/api-nestjs/src/scope-source/partition-reader.ts","packages/scope-source/src/errors.ts","packages/scope-source/src/tenant-partitions.test.ts","packages/scope-source/src/tenant-partitions.ts"],"removed":[],"modified":["apps/api-nestjs/src/scope-source/organization-bootstrap-delivery.ts","apps/api-nestjs/src/scope-source/scope-source.module.ts","docs/post-d3-product-updates.json","docs/scope-source-integration.md","packages/scope-source/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5fde73a0bef06f57d7a26283eeb369c65cf309e0","message":"test(scope): bind serial runtime UI and static gates to merged tenant view\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/5fde73a0bef06f57d7a26283eeb369c65cf309e0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-31T22:31:52-07:00","added":["docs/evidence/juhai-scope-tenant-merge-2026-10-31.json"],"removed":[],"modified":["reports/app-manifest.latest.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fixtures.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"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":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":19993,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":12,"open_issues_count":0,"open_pr_counter":7,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-10-29T11:02: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
|
8
|
1793511169
|
1793511187
|
0
|
1793511145
|
1793511187
|
|
|
0
|
Edit
Delete
|
|
23910
|
Merge github/main (PR #11 merge commit) into main
|
116
|
5
|
platform.yml
|
36
|
5
|
0
|
refs/heads/main
|
5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"77602cdf7a9911f9793643823f8874cd24dd1a2e","after":"5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/77602cdf7a9911f9793643823f8874cd24dd1a2e...5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","commits":[{"id":"5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","message":"Merge github/main (PR #11 merge commit) into main\n\n源码无冲突;仅 latest 报告冲突(双方各自重生成),先取 GitHub 侧,随后在合并后的干净树上重生成并另行提交。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:35:08-07:00","added":[],"removed":[],"modified":["docs/RC1治理包发布记录-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/governance-rc1-preflight.2026-09-12.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":"5db0d428fd63faa7efad95d0bfa13a6b389d1007","message":"Merge pull request #11 from laoluojuhai/sync/main-20260912-r6\n\nsync(main): 合并已批准 Catalog 与 RC1 治理门禁","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5db0d428fd63faa7efad95d0bfa13a6b389d1007","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T06:34:31-07:00","added":[],"removed":[],"modified":["contracts/README.md","contracts/catalogs/decisions.json","contracts/scripts/check-schema-compatibility.mjs","contracts/scripts/schema-compatibility.mjs","contracts/test/governance-linter.test.mjs","contracts/test/schema-compatibility.test.mjs","docs/RC1治理包发布记录-2026-09-12.md","governance/catalog-reconciliation.exceptions.json","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/governance-rc1-preflight.2026-09-12.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","stack/compose.yaml"]},{"id":"edeaf518548e0bdcb1b7e8b395f0684ea96c5b02","message":"docs(stack): Redpanda 候选镜像首次 pull 核实(v24.3.6,linux/arm64),候选块按 digest 锁定(DEC-013 Approval gate ⑤;材料包 doc/decisions/DEC-013-016-Approval-gate-材料)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/edeaf518548e0bdcb1b7e8b395f0684ea96c5b02","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:32:24-07:00","added":[],"removed":[],"modified":["stack/README.md","stack/compose.yaml"]},{"id":"7854db6e6e3e5a1dd6741d385aee7f0c1d03ac65","message":"chore(reports): verify RC1 with approved catalogs at 319c327\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/7854db6e6e3e5a1dd6741d385aee7f0c1d03ac65","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:24:50-07:00","added":[],"removed":[],"modified":["docs/RC1治理包发布记录-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/governance-rc1-preflight.2026-09-12.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":"319c327343af1a3c9e15514a146fb6397843ca4e","message":"merge: combine approved catalogs with RC1 governance\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/319c327343af1a3c9e15514a146fb6397843ca4e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:23:47-07:00","added":[],"removed":[],"modified":["contracts/README.md","contracts/catalogs/decisions.json","contracts/scripts/check-schema-compatibility.mjs","contracts/scripts/schema-compatibility.mjs","contracts/test/governance-linter.test.mjs","contracts/test/schema-compatibility.test.mjs","governance/catalog-reconciliation.exceptions.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/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/compose.yaml"]}],"total_commits":0,"head_commit":{"id":"5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","message":"Merge github/main (PR #11 merge commit) into main\n\n源码无冲突;仅 latest 报告冲突(双方各自重生成),先取 GitHub 侧,随后在合并后的干净树上重生成并另行提交。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5fe0b4d9a890194fe2bfcc8fc6c29bd07a572721","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:35:08-07:00","added":[],"removed":[],"modified":["docs/RC1治理包发布记录-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/governance-rc1-preflight.2026-09-12.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":4623,"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":5,"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-12T21:29: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
|
1789220136
|
1789220178
|
0
|
1789220134
|
1789220204
|
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
|
|
24266
|
docs(governance): align DEC-041 catalog counts
|
117
|
5
|
governance.yml
|
90
|
5
|
0
|
refs/heads/main
|
600b27dd78486b235f958cb358b936a3b64abf07
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e665ccae21f6bfec22ea24f341e726c550634b00","after":"600b27dd78486b235f958cb358b936a3b64abf07","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/e665ccae21f6bfec22ea24f341e726c550634b00...600b27dd78486b235f958cb358b936a3b64abf07","commits":[{"id":"600b27dd78486b235f958cb358b936a3b64abf07","message":"docs(governance): align DEC-041 catalog counts\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/600b27dd78486b235f958cb358b936a3b64abf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-19T16:58:02-07:00","added":[],"removed":[],"modified":["平台治理/基础/README.md","平台治理/基础/总体开发计划.md"]}],"total_commits":0,"head_commit":{"id":"600b27dd78486b235f958cb358b936a3b64abf07","message":"docs(governance): align DEC-041 catalog counts\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/600b27dd78486b235f958cb358b936a3b64abf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-19T16:58:02-07:00","added":[],"removed":[],"modified":["平台治理/基础/README.md","平台治理/基础/总体开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":12399,"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":4,"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-20T07:57:23+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
|
1789862600
|
1789862897
|
0
|
1789862288
|
1789862897
|
|
|
0
|
Edit
Delete
|
|
24164
|
fix(ticket): 通知投递补认领凭据与显式重试上限
|
82
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
601955837eb8caa25a91a2c2da96d9a06f8ea455
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","after":"601955837eb8caa25a91a2c2da96d9a06f8ea455","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/7c4b197f018b02f5ed675758af3f5be5dbd1de02...601955837eb8caa25a91a2c2da96d9a06f8ea455","commits":[{"id":"601955837eb8caa25a91a2c2da96d9a06f8ea455","message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/601955837eb8caa25a91a2c2da96d9a06f8ea455","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:27-07:00","added":["apps/api-fastify/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql","apps/api-nestjs/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql"],"removed":[],"modified":["apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"601955837eb8caa25a91a2c2da96d9a06f8ea455","message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/601955837eb8caa25a91a2c2da96d9a06f8ea455","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:27-07:00","added":["apps/api-fastify/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql","apps/api-nestjs/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql"],"removed":[],"modified":["apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"repository":{"id":82,"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":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":1867,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-15T15:55: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
|
6
|
1789772883
|
1789772913
|
0
|
1789772841
|
1789772914
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
25971
|
test(integration): preserve raw runner and per-pac test(integration): preserve raw runner and per-package logs...
|
57
|
5
|
governance.yml
|
257
|
5
|
0
|
refs/heads/main
|
604e0f5275ee9db98a8501b849ab218f74c46561
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7b8910eb1b90eacbc6610ef19fd60d7b7e06746b","after":"604e0f5275ee9db98a8501b849ab218f74c46561","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/7b8910eb1b90eacbc6610ef19fd60d7b7e06746b...604e0f5275ee9db98a8501b849ab218f74c46561","commits":[{"id":"604e0f5275ee9db98a8501b849ab218f74c46561","message":"test(integration): preserve raw runner and per-package logs\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/604e0f5275ee9db98a8501b849ab218f74c46561","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-16T19:40:40-07:00","added":["reports/enterprise-integration-2026-10-16/check-attempt4.log","reports/enterprise-integration-2026-10-16/check-attempt6.log","reports/enterprise-integration-2026-10-16/deps-attempt4.log","reports/enterprise-integration-2026-10-16/deps-attempt6.log","reports/enterprise-integration-2026-10-16/host-final.log","reports/enterprise-integration-2026-10-16/inference-attempt2.log","reports/enterprise-integration-2026-10-16/inference-attempt6.log","reports/enterprise-integration-2026-10-16/media-attempt1.log","reports/enterprise-integration-2026-10-16/media-attempt2.log","reports/enterprise-integration-2026-10-16/production-attempt2.log","reports/enterprise-integration-2026-10-16/production-attempt6.log","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt2.log","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt6.log","reports/enterprise-integration-2026-10-16/return-attempt1.log","reports/enterprise-integration-2026-10-16/return-final.log","reports/enterprise-integration-2026-10-16/return-repeated-recovery-before-fix.log","reports/enterprise-integration-2026-10-16/runtime-attempt2.log","reports/enterprise-integration-2026-10-16/runtime-attempt6.log","reports/enterprise-integration-2026-10-16/runtime-packages/api-fastify/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/api-nestjs/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/contracts/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/enterprise-identity/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/industry-trends/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/material-governance/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/model-credentials/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/production-archive/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/public-file/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/shijie-domain/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/shijie-runtime/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/tenant-management/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/video-edit/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/web/test.log","reports/enterprise-integration-2026-10-16/script-attempt2.log","reports/enterprise-integration-2026-10-16/script-attempt6.log","reports/enterprise-integration-2026-10-16/shijie-attempt2.log","reports/enterprise-integration-2026-10-16/shijie-attempt6.log","reports/enterprise-integration-2026-10-16/static-attempt1.log","reports/enterprise-integration-2026-10-16/ui-attempt2.log","reports/enterprise-integration-2026-10-16/ui-attempt3.log","reports/enterprise-integration-2026-10-16/ui-attempt4.log","reports/enterprise-integration-2026-10-16/ui-attempt6.log"],"removed":[],"modified":[]},{"id":"bf6fafa122126ea18f14ba2eeb01341decf0b540","message":"test(integration): retain full acceptance and recovery failure evidence\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/bf6fafa122126ea18f14ba2eeb01341decf0b540","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-16T19:40:29-07:00","added":["reports/enterprise-integration-2026-10-16/README.md","reports/enterprise-integration-2026-10-16/deps-attempt4.json","reports/enterprise-integration-2026-10-16/deps-attempt6.json","reports/enterprise-integration-2026-10-16/existing-m7-readonly.json","reports/enterprise-integration-2026-10-16/inference-attempt2.json","reports/enterprise-integration-2026-10-16/inference-attempt6.json","reports/enterprise-integration-2026-10-16/manifest.json","reports/enterprise-integration-2026-10-16/production-attempt2.json","reports/enterprise-integration-2026-10-16/production-attempt6.json","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt2.json","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt6.json","reports/enterprise-integration-2026-10-16/runs.json","reports/enterprise-integration-2026-10-16/runtime-attempt1.json","reports/enterprise-integration-2026-10-16/runtime-attempt2.json","reports/enterprise-integration-2026-10-16/runtime-attempt6.json","reports/enterprise-integration-2026-10-16/runtime-package-counts.json","reports/enterprise-integration-2026-10-16/script-attempt2.json","reports/enterprise-integration-2026-10-16/script-attempt6.json","reports/enterprise-integration-2026-10-16/service-before2.json","reports/enterprise-integration-2026-10-16/shijie-attempt2.json","reports/enterprise-integration-2026-10-16/shijie-attempt6.json","reports/enterprise-integration-2026-10-16/skill-source.json","reports/enterprise-integration-2026-10-16/ui-artifacts-manifest.json","reports/enterprise-integration-2026-10-16/ui-attempt2.json","reports/enterprise-integration-2026-10-16/ui-attempt3.json","reports/enterprise-integration-2026-10-16/ui-attempt4.json","reports/enterprise-integration-2026-10-16/ui-attempt6.json"],"removed":[],"modified":[]},{"id":"ed5e926256fff8dff8a02ac4ffce5289506c765f","message":"feat(integration): freeze original model intents and add governed return seam\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ed5e926256fff8dff8a02ac4ffce5289506c765f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-16T19:40:24-07:00","added":["app-manifest.json","docs/governance/log/2026-10-17-enterprise-integration.md","docs/platform-integration/README.md","docs/platform-integration/acceptance-2026-10-16.md","docs/platform-integration/adjudication-checklist.md","docs/platform-integration/baseline.json","docs/platform-integration/boundary-preflight.md","docs/platform-integration/capability-feedback.md","docs/platform-integration/integration-matrix.md","docs/platform-integration/model-dispositions.json","reports/enterprise-integration.latest.json","scripts/check-enterprise-integration.mjs","scripts/lib/enterprise-execution-return.mjs","scripts/lib/enterprise-execution-return.test.mjs","scripts/lib/enterprise-integration/business-command-journal.mjs","scripts/lib/enterprise-integration/ees-execution-return.mjs","scripts/lib/enterprise-integration/provenance.json","scripts/lib/integration-source-naming.mjs","scripts/lib/integration-source-naming.test.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","docs/README.md","docs/domain-glossary.md","package.json","packages/material-governance/src/platform-media.integration.test.ts","packages/material-governance/src/platform-media.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/render-job-drainability.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/shijie-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-naming.mjs","scripts/lib/source-fingerprint.mjs"]}],"total_commits":0,"head_commit":{"id":"604e0f5275ee9db98a8501b849ab218f74c46561","message":"test(integration): preserve raw runner and per-package logs\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/604e0f5275ee9db98a8501b849ab218f74c46561","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-16T19:40:40-07:00","added":["reports/enterprise-integration-2026-10-16/check-attempt4.log","reports/enterprise-integration-2026-10-16/check-attempt6.log","reports/enterprise-integration-2026-10-16/deps-attempt4.log","reports/enterprise-integration-2026-10-16/deps-attempt6.log","reports/enterprise-integration-2026-10-16/host-final.log","reports/enterprise-integration-2026-10-16/inference-attempt2.log","reports/enterprise-integration-2026-10-16/inference-attempt6.log","reports/enterprise-integration-2026-10-16/media-attempt1.log","reports/enterprise-integration-2026-10-16/media-attempt2.log","reports/enterprise-integration-2026-10-16/production-attempt2.log","reports/enterprise-integration-2026-10-16/production-attempt6.log","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt2.log","reports/enterprise-integration-2026-10-16/public-file-acceptance-attempt6.log","reports/enterprise-integration-2026-10-16/return-attempt1.log","reports/enterprise-integration-2026-10-16/return-final.log","reports/enterprise-integration-2026-10-16/return-repeated-recovery-before-fix.log","reports/enterprise-integration-2026-10-16/runtime-attempt2.log","reports/enterprise-integration-2026-10-16/runtime-attempt6.log","reports/enterprise-integration-2026-10-16/runtime-packages/api-fastify/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/api-nestjs/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/contracts/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/enterprise-identity/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/industry-trends/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/material-governance/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/model-credentials/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/production-archive/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/public-file/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/shijie-domain/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/shijie-runtime/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/tenant-management/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/video-edit/test.log","reports/enterprise-integration-2026-10-16/runtime-packages/web/test.log","reports/enterprise-integration-2026-10-16/script-attempt2.log","reports/enterprise-integration-2026-10-16/script-attempt6.log","reports/enterprise-integration-2026-10-16/shijie-attempt2.log","reports/enterprise-integration-2026-10-16/shijie-attempt6.log","reports/enterprise-integration-2026-10-16/static-attempt1.log","reports/enterprise-integration-2026-10-16/ui-attempt2.log","reports/enterprise-integration-2026-10-16/ui-attempt3.log","reports/enterprise-integration-2026-10-16/ui-attempt4.log","reports/enterprise-integration-2026-10-16/ui-attempt6.log"],"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":1110099,"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":42,"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-10-11T22:55:03+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
|
1792204856
|
1792204877
|
0
|
1792204855
|
1792204877
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
27134
|
docs(status): 登记 53001 换到 f1c949ec1
|
116
|
5
|
platform.yml
|
1456
|
5
|
0
|
refs/heads/main
|
60788a11cbf8d35d84f12e3e1e675c2c91658d8f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f1c949ec1f6b0d25b173ea2ae25f52afdd72f08a","after":"60788a11cbf8d35d84f12e3e1e675c2c91658d8f","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/f1c949ec1f6b0d25b173ea2ae25f52afdd72f08a...60788a11cbf8d35d84f12e3e1e675c2c91658d8f","commits":[{"id":"60788a11cbf8d35d84f12e3e1e675c2c91658d8f","message":"docs(status): 登记 53001 换到 f1c949ec1\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60788a11cbf8d35d84f12e3e1e675c2c91658d8f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:58-08:00","added":[],"removed":[],"modified":["docs/当前状态与验收边界.md"]},{"id":"de8b0188f1cb41f81dafe911f337aebb638b115e","message":"chore(reports): 工作台发布快照与 Release Manifest 联建 @ 4226a81e8\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/de8b0188f1cb41f81dafe911f337aebb638b115e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:38-08:00","added":[],"removed":[],"modified":["reports/release-manifest.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"4226a81e8714e9902d60aa7c77cbfe053e3f74c0","message":"chore(reports): 现网 runtime 与 evidence 回绑 @ b1982e072\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4226a81e8714e9902d60aa7c77cbfe053e3f74c0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:37-08:00","added":[],"removed":[],"modified":["reports/deployed-runtime.latest.json","reports/evidence-freshness.latest.json"]},{"id":"b1982e072a6a8a65bdebba7926c2f5bb21131f46","message":"chore(reports): 工作台快照回绑 @ 55be7d4e2\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b1982e072a6a8a65bdebba7926c2f5bb21131f46","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:29-08:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"55be7d4e2c267288693cb015cdf1f8e707b62727","message":"chore(reports): 根链、SBOM 与部署冒烟回绑 @ 1157174\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/55be7d4e2c267288693cb015cdf1f8e707b62727","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:28-08:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/canonical-ids.latest.json","reports/capability-acceptance.latest.json","reports/catalog-chg.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/code-sets.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/fixture-coverage.latest.json","reports/fixtures.latest.json","reports/gate-flow.latest.json","reports/governance-kit.latest.json","reports/image-smoke.latest.json","reports/migration-decs.latest.json","reports/model-gateway.latest.json","reports/module-imports.latest.json","reports/omni-platform.latest.json","reports/otel.latest.json","reports/release-drift.latest.json","reports/sbom.latest.json","reports/sbom.spdx.json","reports/stub-surface.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-kit.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/permission-catalog.latest.json","runtime/reports/platform-ops-definitions.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"60788a11cbf8d35d84f12e3e1e675c2c91658d8f","message":"docs(status): 登记 53001 换到 f1c949ec1\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60788a11cbf8d35d84f12e3e1e675c2c91658d8f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-06T14:59:58-08:00","added":[],"removed":[],"modified":["docs/当前状态与验收边界.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":148567,"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":1,"watchers_count":1,"branch_count":190,"open_issues_count":0,"open_pr_counter":5,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-11-07T01:12:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1794006027
|
1794006036
|
0
|
1794006025
|
1794006054
|
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
|
|
25163
|
release: prepare 0.221.0 value-chain revision and release: prepare 0.221.0 value-chain revision and review, tool usage metering, burn-rate delivery and gap2 evidence...
|
121
|
5
|
kernel-ci.yml
|
496
|
5
|
0
|
refs/heads/main
|
607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6e36b93f386509ed116062d735b34cfd2fc4f508","after":"607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/6e36b93f386509ed116062d735b34cfd2fc4f508...607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","commits":[{"id":"607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","message":"release: prepare 0.221.0 value-chain revision and review, tool usage metering, burn-rate delivery and gap2 evidence\n\nCombines the six claude/gap2-* branches on top of 0.220.0. Migrations\n168 and 170-172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:58:49-07:00","added":["docs/releases/0.221.0.md"],"removed":[],"modified":["docs/v1.1-local-contracts-draft.md","model/catalog.json","package.json"]},{"id":"8305639929be6b20fde705670ba0479a99696274","message":"Merge claude/gap2-observability into the gap2 batch\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/8305639929be6b20fde705670ba0479a99696274","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:44:41-07:00","added":["docs/releases/candidates/burn-rate-alert-delivery.md","ops/drill-burn-rate-alert-delivery.js","ops/drills/2026-10-03-burn-rate-alert-delivery.md","ops/drills/2026-10-03-slo-burn-rate-promtool-le-fix.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/acceptance-validation.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/abort-note.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/api-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/checkpoints.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/prometheus-queries.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/report-at-abort.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/baseline-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/interruption-note.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/outage-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/receiver.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/report.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt2-host-docker-stopped/slow-wire-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/alertmanager-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/api.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/baseline-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-restart.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-stop.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-all-events.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-audit-chain.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-cross-fks.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-cross-refs.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-db-roles.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-execution-provenance.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-external-sales-order-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-historical-facts.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-integration-events.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-cutover.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-horizon.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-identities.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-references.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-schedule-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-state-journal.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-task-evaluation-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-authorization-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-condition-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-state-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/migrate.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/outage-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/prometheus-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/receiver.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/recovery-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/related-regressions.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/report.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/slow-wire-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/manifest.json","scripts/promql-refs.js","test/promql-refs.test.js","test/slo-sli.test.js"],"removed":[],"modified":["docs/alerting.md","docs/production-readiness.md","docs/slo.md","model/gap-governance.json","model/plan-ledger.json","model/production-readiness.json","model/slo.json","ops/alerts/erk.slo-burn.rules.yml","ops/alerts/erk.slo-burn.test.yml","ops/verify-burn-rate-rules.js","scripts/check-alerts.js","scripts/check-slo.js"]},{"id":"4ff9aed1ad9215873d83c2319eb433cfcb8829c0","message":"Merge origin/main (0.220.0) into the gap2 batch\n\nGovernance and ledger texts take main's wording with this batch's notes\nre-applied; both API schema gates (main's api-standard-validation and\nthis batch's check:api-spec) are kept side by side; generated contracts,\nresponse rows and the v1.1 draft re-rendered on a database migrated\nthrough 172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/4ff9aed1ad9215873d83c2319eb433cfcb8829c0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:44:34-07:00","added":["contracts/standards/LICENSE-AsyncAPI","contracts/standards/LICENSE-OpenAPI","contracts/standards/README.md","contracts/standards/asyncapi-3.0.0.json","contracts/standards/manifest.json","contracts/standards/openapi-3.1-dialect-base.json","contracts/standards/openapi-3.1-meta-base.json","contracts/standards/openapi-3.1-schema-2022-10-07.json","contracts/standards/openapi-3.1-schema-base-2022-10-07.json","docs/api-contract-bundle.md","docs/governance/full-closure-2026-10-03/README.md","docs/governance/full-closure-2026-10-03/not-verified.md","docs/governance/full-closure-2026-10-03/reconciliation.json","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-ADR-002-creation-evaluation-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-ADR-002-reuse-reevaluation-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-DEC-053.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-MODEL-owner-source-binding.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-SalesOrderCreated-owner-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-UDM-19-anonymization-scheme.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-external-owner-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-AI-GATEWAY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-BREAK-GLASS-IDENTITY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CENTRAL-AUDIT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CI-ISOLATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-COMMERCE-OBLIGATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CONTRACT-PIN.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CREDENTIAL-PROVIDER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CROSS-AUTHORITY-EVIDENCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CUSTOMER-CONCEPTS.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-ENVIRONMENT-ACCEPTANCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-FACT-CHANNEL.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-FINANCE-PAYMENT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-IDP-REGISTRATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-KNOWLEDGE-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-METRIC-VALUE-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-MODEL-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-OBSERVABILITY-DELIVERY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-ORG-ASSET-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-OS-CONSUMER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-POS-PRODUCER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-PRINCIPAL-CONTRACT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-QUOTATION-PRODUCER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-SCENARIO-OWNERS.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-SLA-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-V11-CONTRACT-REVIEW.md","docs/governance/full-closure-2026-10-03/tests.tap","docs/governance/full-closure-2026-10-03/validation.json","docs/governance/full-closure-2026-10-03/work-plan.md","docs/governance/full-closure-external-2026-10-03/README.md","docs/governance/full-closure-external-2026-10-03/collect.mjs","docs/governance/full-closure-external-2026-10-03/minimum-chain.md","docs/governance/full-closure-external-2026-10-03/six-request-bindings.initial.json","docs/governance/full-closure-external-2026-10-03/six-request-bindings.json","docs/governance/full-closure-external-2026-10-03/source-inputs.json","docs/governance/full-closure-external-2026-10-03/source-observation.json","docs/governance/full-closure-external-2026-10-03/validation.json","docs/governance/full-closure-external-2026-10-03/verify.mjs","docs/releases/0.220.0.md","docs/releases/candidates/full-closure-governance.md","docs/releases/candidates/k76a-slo-burn-report.md","docs/slo-burn-report.md","ops/deployments/2026-10-03-full-closure-02200-local.md","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-bundle-first-aborted.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-bundle.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/asyncapi.v1.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/openapi.v1.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-export.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-verified.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/compat.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/gate.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/targeted.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/validation.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/archive-manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/check-deployed.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/attempt-1-preflight/candidate-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/attempt-1-preflight/release-config.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/candidate-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/deploy.mjs","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/live-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/release-config.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/run-deploy.sh","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/source-manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/collect-evidence.py","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/summary.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/summary.md","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/terminal-attempts.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/full-ci-first-static-failure/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/full-ci/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/installed-api-contract-verified.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/installed-api-standard-gate.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/api-burn-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/prometheus.yml","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/worker-burn-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/verify-installed-report.mjs","ops/deployments/evidence/2026-10-03-full-closure-02200-local/raw-local-manifest.json","ops/drill-slo-burn-report.js","ops/drills/2026-10-03-slo-burn-report.md","ops/drills/evidence/2026-10-03-slo-burn-report/acceptance-validation.json","ops/drills/evidence/2026-10-03-slo-burn-report/first-report-before-zero-denominator.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/api-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/cli-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/idle-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/injection-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/missing-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/prometheus.yml","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/worker-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/manifest.json","ops/drills/evidence/2026-10-03-slo-burn-report/unit-tests.tap","ops/lib/slo-burn-report.js","ops/report-slo-burn.js","scripts/export-api-contract-bundle.js","scripts/lib/api-contract-bundle.js","scripts/lib/api-standard-validation.js","scripts/verify-api-contract-bundle.js","test/api-contract-bundle.test.js","test/api-standard-validation.test.js","test/slo-burn-report.test.js"],"removed":[],"modified":["docs/api-contracts.md","docs/gap-governance.md","docs/slo.md","docs/v1.1-local-contracts-draft.md","model/catalog.json","model/gap-governance.json","model/plan-ledger.json","model/release-anchors.json","package.json","scripts/check-api-contracts.js","scripts/check-gap-governance.js","scripts/lib/gap-governance.js","scripts/lib/governance-work-plan.js","scripts/lib/not-verified-governance.js","test/gap-governance.test.js","test/governance-work-plan.test.js","test/not-verified-governance.test.js"]},{"id":"f32d8f5b73807b3e40f11d480a3df0f88572a458","message":"Merge origin/main (0.220.0) into claude/gap2-observability\n\nLedger and gap-governance take main's text; the burn-rate delivery notes are re-applied on top.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/f32d8f5b73807b3e40f11d480a3df0f88572a458","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:41:30-07:00","added":["contracts/standards/LICENSE-AsyncAPI","contracts/standards/LICENSE-OpenAPI","contracts/standards/README.md","contracts/standards/asyncapi-3.0.0.json","contracts/standards/manifest.json","contracts/standards/openapi-3.1-dialect-base.json","contracts/standards/openapi-3.1-meta-base.json","contracts/standards/openapi-3.1-schema-2022-10-07.json","contracts/standards/openapi-3.1-schema-base-2022-10-07.json","docs/api-contract-bundle.md","docs/governance/full-closure-2026-10-03/README.md","docs/governance/full-closure-2026-10-03/not-verified.md","docs/governance/full-closure-2026-10-03/reconciliation.json","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-ADR-002-creation-evaluation-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-ADR-002-reuse-reevaluation-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-DEC-053.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-MODEL-owner-source-binding.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-SalesOrderCreated-owner-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-UDM-19-anonymization-scheme.md","docs/governance/full-closure-2026-10-03/requests/REQ-DECISION-external-owner-contract.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-AI-GATEWAY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-BREAK-GLASS-IDENTITY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CENTRAL-AUDIT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CI-ISOLATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-COMMERCE-OBLIGATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CONTRACT-PIN.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CREDENTIAL-PROVIDER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CROSS-AUTHORITY-EVIDENCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-CUSTOMER-CONCEPTS.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-ENVIRONMENT-ACCEPTANCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-FACT-CHANNEL.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-FINANCE-PAYMENT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-IDP-REGISTRATION.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-KNOWLEDGE-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-METRIC-VALUE-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-MODEL-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-OBSERVABILITY-DELIVERY.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-ORG-ASSET-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-OS-CONSUMER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-POS-PRODUCER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-PRINCIPAL-CONTRACT.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-QUOTATION-PRODUCER.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-SCENARIO-OWNERS.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-SLA-SOURCE.md","docs/governance/full-closure-2026-10-03/requests/REQ-EXTERNAL-EXT-V11-CONTRACT-REVIEW.md","docs/governance/full-closure-2026-10-03/tests.tap","docs/governance/full-closure-2026-10-03/validation.json","docs/governance/full-closure-2026-10-03/work-plan.md","docs/governance/full-closure-external-2026-10-03/README.md","docs/governance/full-closure-external-2026-10-03/collect.mjs","docs/governance/full-closure-external-2026-10-03/minimum-chain.md","docs/governance/full-closure-external-2026-10-03/six-request-bindings.initial.json","docs/governance/full-closure-external-2026-10-03/six-request-bindings.json","docs/governance/full-closure-external-2026-10-03/source-inputs.json","docs/governance/full-closure-external-2026-10-03/source-observation.json","docs/governance/full-closure-external-2026-10-03/validation.json","docs/governance/full-closure-external-2026-10-03/verify.mjs","docs/releases/0.220.0.md","docs/releases/candidates/full-closure-governance.md","docs/releases/candidates/k76a-slo-burn-report.md","docs/slo-burn-report.md","ops/deployments/2026-10-03-full-closure-02200-local.md","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-bundle-first-aborted.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-bundle.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/asyncapi.v1.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-delivery/openapi.v1.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-export.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-contract-verified.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/compat.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/gate.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/targeted.tap","ops/deployments/evidence/2026-10-03-full-closure-02200-local/api-standard-validation/validation.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/archive-manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/check-deployed.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/attempt-1-preflight/candidate-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/attempt-1-preflight/release-config.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/candidate-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/deploy.mjs","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/live-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/release-config.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/run-deploy.sh","ops/deployments/evidence/2026-10-03-full-closure-02200-local/deployment/source-manifest.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/collect-evidence.py","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/summary.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/summary.md","ops/deployments/evidence/2026-10-03-full-closure-02200-local/evidence-preparation/terminal-attempts.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/full-ci-first-static-failure/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/full-ci/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/installed-api-contract-verified.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/installed-api-standard-gate.txt","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/api-burn-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/prometheus.yml","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/run-1791016816767-2f77b280f6a7/worker-burn-report.json","ops/deployments/evidence/2026-10-03-full-closure-02200-local/live-prometheus/verify-installed-report.mjs","ops/deployments/evidence/2026-10-03-full-closure-02200-local/raw-local-manifest.json","ops/drill-slo-burn-report.js","ops/drills/2026-10-03-slo-burn-report.md","ops/drills/evidence/2026-10-03-slo-burn-report/acceptance-validation.json","ops/drills/evidence/2026-10-03-slo-burn-report/first-report-before-zero-denominator.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/api-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/cli-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/idle-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/injection-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/missing-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/prometheus.yml","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/report.json","ops/drills/evidence/2026-10-03-slo-burn-report/fixed-source/worker-report.json","ops/drills/evidence/2026-10-03-slo-burn-report/manifest.json","ops/drills/evidence/2026-10-03-slo-burn-report/unit-tests.tap","ops/lib/slo-burn-report.js","ops/report-slo-burn.js","scripts/export-api-contract-bundle.js","scripts/lib/api-contract-bundle.js","scripts/lib/api-standard-validation.js","scripts/verify-api-contract-bundle.js","test/api-contract-bundle.test.js","test/api-standard-validation.test.js","test/slo-burn-report.test.js"],"removed":[],"modified":["docs/api-contracts.md","docs/gap-governance.md","docs/slo.md","docs/v1.1-local-contracts-draft.md","model/catalog.json","model/gap-governance.json","model/plan-ledger.json","model/release-anchors.json","package.json","scripts/check-api-contracts.js","scripts/check-gap-governance.js","scripts/lib/gap-governance.js","scripts/lib/governance-work-plan.js","scripts/lib/not-verified-governance.js","test/gap-governance.test.js","test/governance-work-plan.test.js","test/not-verified-governance.test.js"]},{"id":"e88691d887663dbc312c31f1b1fef8adb7c5596f","message":"K7.6a/K7.6b: fixed-source burn-rate delivery evidence, docs, ledger notes and release candidate\n\nAll 12 burn-rate rules fired in an isolated real Prometheus, reached the test\nwebhook and resolved after natural window expiry (third run; the first exposed\nthe dead le selector, the second was cut short when the host Docker engine\nstopped). Statuses unchanged: K7.6a, K7.6b, K8.7 partial, P2.4c not_verified.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/e88691d887663dbc312c31f1b1fef8adb7c5596f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:39:51-07:00","added":["docs/releases/candidates/burn-rate-alert-delivery.md","ops/drills/2026-10-03-burn-rate-alert-delivery.md","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/acceptance-validation.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/attempt1-dead-le-selector/checkpoints.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/alertmanager-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/api.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/baseline-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-restart.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/database-stop.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-all-events.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-audit-chain.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-cross-fks.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-cross-refs.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-db-roles.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-execution-provenance.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-external-sales-order-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-historical-facts.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-integration-events.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-cutover.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-horizon.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-identities.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-partition-references.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-schedule-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-state-journal.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-task-evaluation-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-authorization-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-condition-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/gate-trigger-state-history.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/migrate.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/outage-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/prometheus-start.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/receiver.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/recovery-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/related-regressions.log","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/report.json","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/fixed-source/slow-wire-metrics.txt","ops/drills/evidence/2026-10-03-burn-rate-alert-delivery/manifest.json"],"removed":[],"modified":["docs/alerting.md","docs/production-readiness.md","docs/slo.md","model/gap-governance.json","model/plan-ledger.json","model/production-readiness.json"]}],"total_commits":0,"head_commit":{"id":"607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","message":"release: prepare 0.221.0 value-chain revision and review, tool usage metering, burn-rate delivery and gap2 evidence\n\nCombines the six claude/gap2-* branches on top of 0.220.0. Migrations\n168 and 170-172.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/607f69f4f6039cf5dcd4bb1e0ca48e1449012dfc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T02:58:49-07:00","added":["docs/releases/0.221.0.md"],"removed":[],"modified":["docs/v1.1-local-contracts-draft.md","model/catalog.json","package.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":339886,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":24,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-10-03T18:09:10+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
|
1791111804
|
1791114554
|
0
|
1791071221
|
1791114554
|
|
|
0
|
Edit
Delete
|
|
18319
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
ci.yml
|
18239
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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
|
14
|
1777360604
|
1777360641
|
0
|
1777360555
|
1777361866
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
18320
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
e2e-tests.yml
|
18240
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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
|
20
|
1777360642
|
1777360781
|
0
|
1777360556
|
1777361868
|
|
|
0
|
Edit
Delete
|
|
18321
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
deploy.yml
|
18242
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18318,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18318","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18318","display_title":"Merge branch 'codex-module-detail-closure-governance'","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18238,"head_sha":"e9258713d6944a1e296ddd7017cf9755186b54d8","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"cancelled","started_at":"1970-01-01T08:00:00+08:00","completed_at":"2026-04-28T15:15:57+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
3
|
17
|
1777360788
|
1777361849
|
0
|
1777360564
|
1777361851
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
18322
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
test-pipeline.yml
|
18241
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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
|
72
|
1777360790
|
1777361849
|
0
|
1777360565
|
1777361964
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
18323
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
test-report.yml
|
18243
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18317,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18317","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18317","display_title":"Merge branch 'codex-module-detail-closure-governance'","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18237,"head_sha":"e9258713d6944a1e296ddd7017cf9755186b54d8","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:14:12+08:00","completed_at":"2026-04-28T15:16:39+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1777361859
|
1777361863
|
0
|
1777360604
|
1777361902
|
|
|
0
|
Edit
Delete
|
|
18324
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
test-report.yml
|
18244
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18320,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18320","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18320","display_title":"Merge branch 'claude/hungry-montalcini-932ea7'","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18240,"head_sha":"6086495033147939cdd979bd15fd97d71f6c1ac3","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:17:22+08:00","completed_at":"2026-04-28T15:19:41+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1777361869
|
1777361872
|
0
|
1777360787
|
1777361911
|
|
|
0
|
Edit
Delete
|
|
18325
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18245
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777361873
|
1777361873
|
0
|
1777360850
|
1777361873
|
|
|
0
|
Edit
Delete
|
|
18326
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18246
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777361875
|
1777361876
|
0
|
1777361150
|
1777361876
|
|
|
0
|
Edit
Delete
|
|
18327
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18247
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777361877
|
1777361877
|
0
|
1777361450
|
1777361877
|
|
|
0
|
Edit
Delete
|
|
18328
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18248
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777361879
|
1777361879
|
0
|
1777361810
|
1777361879
|
|
|
0
|
Edit
Delete
|
|
18329
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
deploy.yml
|
18249
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18322,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","display_title":"Merge branch 'claude/hungry-montalcini-932ea7'","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18241,"head_sha":"6086495033147939cdd979bd15fd97d71f6c1ac3","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:19:50+08:00","completed_at":"2026-04-28T15:37:29+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
3
|
26
|
1777361881
|
1777361960
|
0
|
1777361852
|
1777361961
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
18330
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
test-report.yml
|
18250
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18317,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18317","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18317","display_title":"Merge branch 'codex-module-detail-closure-governance'","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18237,"head_sha":"e9258713d6944a1e296ddd7017cf9755186b54d8","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:14:12+08:00","completed_at":"2026-04-28T15:16:39+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1777361895
|
1777361899
|
0
|
1777361858
|
1777361951
|
|
|
0
|
Edit
Delete
|
|
18331
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
test-report.yml
|
18251
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18320,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18320","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18320","display_title":"Merge branch 'claude/hungry-montalcini-932ea7'","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18240,"head_sha":"6086495033147939cdd979bd15fd97d71f6c1ac3","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:17:22+08:00","completed_at":"2026-04-28T15:19:41+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1777361903
|
1777361907
|
0
|
1777361868
|
1777361955
|
|
|
0
|
Edit
Delete
|
|
18332
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
deploy.yml
|
18252
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18322,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","display_title":"Merge branch 'claude/hungry-montalcini-932ea7'","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18241,"head_sha":"6086495033147939cdd979bd15fd97d71f6c1ac3","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:19:50+08:00","completed_at":"2026-04-28T15:37:29+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
3
|
12
|
0
|
1777361965
|
0
|
1777361961
|
1777361967
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
18333
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
deploy.yml
|
18253
|
5
|
0
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-28T00:14:48-07:00","updated_at":"2026-04-28T00:14:48-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":18322,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/18322","display_title":"Merge branch 'claude/hungry-montalcini-932ea7'","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":18241,"head_sha":"6086495033147939cdd979bd15fd97d71f6c1ac3","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-28T15:19:50+08:00","completed_at":"2026-04-28T15:37:29+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230280,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:16:06+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
1
|
40
|
1777361968
|
1777361989
|
0
|
1777361967
|
1777361989
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
18334
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18254
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777362050
|
1777362051
|
0
|
1777362050
|
1777362051
|
|
|
0
|
Edit
Delete
|
|
18335
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18255
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777362350
|
1777362351
|
0
|
1777362350
|
1777362351
|
|
|
0
|
Edit
Delete
|
|
18336
|
Merge branch 'claude/hungry-montalcini-932ea7& Merge branch 'claude/hungry-montalcini-932ea7'...
|
6
|
5
|
health-check.yml
|
18256
|
-2
|
337
|
refs/heads/main
|
6086495033147939cdd979bd15fd97d71f6c1ac3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e9258713d6944a1e296ddd7017cf9755186b54d8","after":"6086495033147939cdd979bd15fd97d71f6c1ac3","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e9258713d6944a1e296ddd7017cf9755186b54d8...6086495033147939cdd979bd15fd97d71f6c1ac3","commits":[{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},{"id":"9b899c023b84a5aeab99138ad11b0618bb0875a6","message":"fix(views): groupbuy-* 4 个 Index 补 reactive import 修复白屏 ReferenceError\n\n真生产 bug:4 个 view 的 line 40-41 都有 const createForm = reactive({...})\n但 import 只有 { ref } 没 { reactive } —— 用户打开任一团购页面会立即\nReferenceError: reactive is not defined → 白屏 + console 红字。\n\n明显是同一份模板 paste 出来的,原始模板少 reactive import 的同一个错。\n4 个文件统一补 import:\n - import { ref } from 'vue'\n + import { reactive, ref } from 'vue'\n\n涉及页面:\n - 团购活动管理 /groupbuy-campaigns\n - 参团管理 /groupbuy-participants\n - 团购商品管理 /groupbuy-products\n - 团购结算管理 /groupbuy-settlements\n\n注: 同模板写法的其它 KTV 营销域 view 应该也 sweep 一遍是否有同款问题,\n但 sweep 范围超出本 PR,建议另开 issue。本 commit 仅修这 4 个已确认的。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9b899c023b84a5aeab99138ad11b0618bb0875a6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:49-07:00","added":[],"removed":[],"modified":["frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue"]},{"id":"d4fc589c2674f52dd6c03aaca02764ae3002ca47","message":"chore(release): rollback-prod.sh dry-run 容错 + ORIGINAL_ARGS 保留\n\n为 e3e4f75d0 (rollback-prod.sh) 加两项 UX 改进,让脚本在不完整环境下\n也能跑 dry-run 演练,方便开发机/沙箱测脚本本身正确性。\n\n变更:\n + ORIGINAL_ARGS=(\"$@\") # 第 20 行:原始参数保留供后续日志/重启使用\n + 预检 .env / docker daemon 缺失时:\n DRY_RUN=true → 仅 WARN 不阻塞(原逻辑:直接 FAIL 退出)\n DRY_RUN=false → 仍 FAIL(生产严格度不变)\n + --strategy \"${2:-}\" # 参数解析对 bash strict mode 更稳健\n\n验证:\n $ bash scripts/release/rollback-prod.sh --dry-run --strategy traffic \\\\\n --reason \"验收测试\" --force\n → 5 项预检通过 (WARN 缺失 .env, PASS docker, INFO git HEAD, PASS reason)\n → [DRY-RUN] 流量回滚 → [DRY-RUN] 后置验证\n → \"全部完成\"\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d4fc589c2674f52dd6c03aaca02764ae3002ca47","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:33-07:00","added":[],"removed":[],"modified":["scripts/release/rollback-prod.sh"]},{"id":"3f732fd5d670787659f0ba94e73357a7f079d352","message":"feat(service-monitor): OpenAPI docs + 前端 types 全栈同步 unknown/nullable/note\n\n为 commit 3dca25c90 (type union 扩展) 同步 OpenAPI schema 与前端 types,\n让契约从 Prisma → service → controller → OpenAPI → 前端 types → Vue 模板\n七层全栈对齐。\n\n变更:\n service-monitor.docs.ts (+74):\n - runtimeStatusSchema: 加 'unknown' enum 值\n - runtimeServiceSchema:\n latency: number → z.union([string, number]).nullable().optional()\n uptime: number → z.union([string, number]).optional()\n + note: z.string().optional()\n + details: z.record(z.unknown()).optional()\n - 新增 performanceMetricsSchema (system / process / requests\n 三段嵌套,requests.* 标 nullable + note)\n\n frontend/src/api/modules/service-monitor.ts (+60):\n - ServiceStatus.status: 加 'unknown'\n - ServiceStatusOverview.services.*: 加 'unknown' + note 字段\n - AdminOverviewResponse.system.diskUsage: string → string | null\n - AdminOverviewResponse.requests.{total,avgLatency,errorRate}:\n number/string → number|null / string|null + note?: string\n - 新增 PerformanceMetrics interface 配合后端 schema\n\n service-monitor/Index.vue (+3-1):\n - 跟进 frontend/src/api/modules/service-monitor.ts type 变化的小调整\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f732fd5d670787659f0ba94e73357a7f079d352","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:44:16-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-monitor.docs.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue"]},{"id":"ad05c63ff48d357cad375e21d75232fd19fc8b4a","message":"test(service-monitor): 补 service-disruption + api 两层测试覆盖\n\n为 commit 3dca25c90 (真健康检查 + withHealthTimeout) 补单元 + API 集成测试,\n锁定运行态行为,防止后续退化。\n\n变更:\n service-disruption.service.test.ts (+78):\n - mockCheckKafkaHealth: vi.fn().mockResolvedValue({ connected:true, latency:3 })\n - mockMinioClient.bucketExists: vi.fn().mockResolvedValue(true)\n - mockWebsocketHealth.getReadinessStatus: vi.fn().mockResolvedValue({\n ready:true, checks:{ redis:true, connections:true } })\n - vi.mock('../../config/kafka.js') 加 checkKafkaHealth export\n - 覆盖 Kafka/MinIO/WebSocket 真健康检查的 happy path\n\n tests/api/service-monitor.test.ts (+53):\n - GET /service-monitor/metrics + /cache 路由的 API 端到端测试\n - 验证 commit ce9319a94 的两条新路由真挂载、真返回\n - 与运行态契约对齐\n\n注: 沙箱无 vitest 跑不了,CI test job 兜底。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad05c63ff48d357cad375e21d75232fd19fc8b4a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T02:43:55-07:00","added":[],"removed":[],"modified":["backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/tests/api/service-monitor.test.ts"]}],"total_commits":0,"head_commit":{"id":"6086495033147939cdd979bd15fd97d71f6c1ac3","message":"Merge branch 'claude/hungry-montalcini-932ea7'\n\n# Conflicts:\n#\tbackend/src/modules/service-monitor/service-disruption.service.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6086495033147939cdd979bd15fd97d71f6c1ac3","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:14:48-07:00","added":["scripts/release/rollback-prod.sh"],"removed":[],"modified":["backend/src/modules/customers/customer-export.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service-monitor/service-monitor.docs.ts","backend/src/modules/service-monitor/service-monitor.routes.ts","backend/tests/api/service-monitor.test.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/views/service-monitor/Index.vue","scripts/fix-duplicate-migrations.sh","scripts/generate-rollback-strategy.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230218,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":16,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-28T15:13: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":false,"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"}}...
|
schedule
|
4
|
4
|
1777362650
|
1777362651
|
0
|
1777362650
|
1777362651
|
|
|
0
|
Edit
Delete
|
|
26767
|
ci(diagnostic): 核对备份存储和runner隔离可用条件
|
116
|
5
|
gitea-maintenance-capacity.yml
|
1180
|
5
|
0
|
refs/heads/codex/runner-maintenance-diagnostic-202 refs/heads/codex/runner-maintenance-diagnostic-20261101...
|
60974a766a52e7c45de627042ae4183c4462d2dc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/codex/runner-mainte {"ref":"refs/heads/codex/runner-maintenance-diagnostic-20261101","before":"ca016ace1582ae89162d78541d6536840b0f2c97","after":"60974a766a52e7c45de627042ae4183c4462d2dc","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/ca016ace1582ae89162d78541d6536840b0f2c97...60974a766a52e7c45de627042ae4183c4462d2dc","commits":[{"id":"60974a766a52e7c45de627042ae4183c4462d2dc","message":"ci(diagnostic): 核对备份存储和runner隔离可用条件\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60974a766a52e7c45de627042ae4183c4462d2dc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-01T01:49:34-07:00","added":[".gitea/workflows/gitea-maintenance-capacity.yml"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"60974a766a52e7c45de627042ae4183c4462d2dc","message":"ci(diagnostic): 核对备份存储和runner隔离可用条件\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60974a766a52e7c45de627042ae4183c4462d2dc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-01T01:49:34-07:00","added":[".gitea/workflows/gitea-maintenance-capacity.yml"],"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":110295,"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":1,"watchers_count":1,"branch_count":169,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-11-01T16:44: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
|
1793522985
|
1793522985
|
0
|
1793522983
|
1793522985
|
group: runner-maintenance-capacity
cancel-in-progr group: runner-maintenance-capacity
cancel-in-progress: "false"
...
|
runner-maintenance-capacity
|
0
|
Edit
Delete
|
|
25060
|
docs: record deployed Saga reservation recovery an docs: record deployed Saga reservation recovery and fixed-source acceptance...
|
121
|
5
|
kernel-ci.yml
|
413
|
5
|
0
|
refs/heads/main
|
609cb92aa8d825f89d1564b0f5df3f1c246f0574
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ac71f823b28a8169580d48c7e934ea189d2dd715","after":"609cb92aa8d825f89d1564b0f5df3f1c246f0574","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/ac71f823b28a8169580d48c7e934ea189d2dd715...609cb92aa8d825f89d1564b0f5df3f1c246f0574","commits":[{"id":"609cb92aa8d825f89d1564b0f5df3f1c246f0574","message":"docs: record deployed Saga reservation recovery and fixed-source acceptance\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/609cb92aa8d825f89d1564b0f5df3f1c246f0574","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T16:00:27-07:00","added":["ops/deployments/2026-10-02-saga-reservation-02081-local.md","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-acceptance-validation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-api-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-api.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-migrate.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-monthly-partitions.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-cleanup.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-dump.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-port.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-start.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restored-contracts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-reuse-dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-human-inbox.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-operation.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-saga-drive.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-trigger-incident.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-reuse-dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/source-manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/acceptance-validation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/migrate.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/migration-test-db.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/owned-resource-observation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-port.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-start.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-version.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/closing-governance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/deploy.mjs","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-deployed.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-observe.mjs","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-runtime.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-api-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-maintained-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-monthly-partitions.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-human-inbox.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-operation.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-saga-drive.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-trigger-incident.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-api-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.runtime-timer-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.saga-manager-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.saga-timeout-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-api.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.runtime-timer.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.saga-manager.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.saga-timeout.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-runtime-timer-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-saga-manager-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-saga-timeout-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/source-manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/worker-config-unchanged.json","ops/drills/evidence/2026-10-02-saga-reservation-death/acceptance-validation.json","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/cached-runtime.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-all-events.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-audit-chain.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-cross-fks.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-cross-refs.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-db-roles.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-execution-provenance.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-external-sales-order-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-historical-facts.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-integration-events.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-cutover.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-horizon.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-identities.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-references.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-schedule-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-state-journal.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-task-evaluation-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-authorization-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-condition-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-state-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/migrate.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/migration-test-db.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/owned-mounts.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-port.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-start.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-version.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/report.json","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/scanner-death-tests.log"],"removed":[],"modified":["docs/fault-injection-matrix.md","docs/production-readiness.md","model/gap-governance.json","model/plan-ledger.json","model/production-readiness.json","model/release-anchors.json","ops/drills/2026-10-02-saga-reservation-death.md","ops/drills/evidence/2026-10-02-saga-reservation-death/manifest.json"]}],"total_commits":0,"head_commit":{"id":"609cb92aa8d825f89d1564b0f5df3f1c246f0574","message":"docs: record deployed Saga reservation recovery and fixed-source acceptance\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/609cb92aa8d825f89d1564b0f5df3f1c246f0574","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T16:00:27-07:00","added":["ops/deployments/2026-10-02-saga-reservation-02081-local.md","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-acceptance-validation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-api-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-api.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-migrate.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-monthly-partitions.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-cleanup.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-dump.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-port.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restore-start.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-restored-contracts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-reuse-dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-human-inbox.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-operation.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-saga-drive.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-smoke-trigger-incident.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/candidate-reuse-dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-source-path-quoting-failure/source-manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/candidate-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/acceptance-validation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/check.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/dependencies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/migrate.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/migration-test-db.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/owned-resource-observation.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-port.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-start.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/postgres-version.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/ci/spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/closing-governance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/deploy.mjs","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-deployed.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-observe.mjs","ops/deployments/evidence/2026-10-02-saga-reservation-02081/final-runtime.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-api-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-console.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-maintained-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-monthly-partitions.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-all-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-audit-chain.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-cross-fks.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-cross-refs.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-db-roles.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-execution-provenance.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-external-sales-order-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-historical-facts.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-integration-events.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-cutover.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-horizon.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-identities.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-partition-references.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-pre-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-report.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-schedule-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-human-inbox.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-operation.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-saga-drive.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-smoke-trigger-incident.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-spec-copies.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-api-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.runtime-timer-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.saga-manager-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-start-com.erk.kernel-worker.saga-timeout-0.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-state-journal.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-api.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.runtime-timer.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.saga-manager.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-stop-com.erk.kernel-worker.saga-timeout.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-task-evaluation-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-authorization-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-condition-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-trigger-state-history.log","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-runtime-timer-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-saga-manager-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/live-worker-saga-timeout-metrics.txt","ops/deployments/evidence/2026-10-02-saga-reservation-02081/manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/source-manifest.json","ops/deployments/evidence/2026-10-02-saga-reservation-02081/worker-config-unchanged.json","ops/drills/evidence/2026-10-02-saga-reservation-death/acceptance-validation.json","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/cached-runtime.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-all-events.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-audit-chain.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-cross-fks.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-cross-refs.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-db-roles.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-execution-provenance.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-external-sales-order-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-historical-facts.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-integration-events.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-cutover.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-horizon.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-identities.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-partition-references.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-schedule-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-state-journal.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-task-evaluation-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-authorization-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-condition-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/check-trigger-state-history.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/migrate.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/migration-test-db.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/owned-mounts.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-port.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-start.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/postgres-version.log","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/report.json","ops/drills/evidence/2026-10-02-saga-reservation-death/fixed-source/scanner-death-tests.log"],"removed":[],"modified":["docs/fault-injection-matrix.md","docs/production-readiness.md","model/gap-governance.json","model/plan-ledger.json","model/production-readiness.json","model/release-anchors.json","ops/drills/2026-10-02-saga-reservation-death.md","ops/drills/evidence/2026-10-02-saga-reservation-death/manifest.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":263600,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":25,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-10-03T06:55:42+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
|
1791003595
|
1791005385
|
0
|
1790982059
|
1791005385
|
|
|
0
|
Edit
Delete
|
|
24144
|
chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚 chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点...
|
76
|
5
|
governance.yml
|
80
|
5
|
0
|
refs/heads/main
|
60abd47e194c0b84e63968d27d493fd2fbdde658
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"74c732d8d4b88957365dd80770032bab706e84e2","after":"60abd47e194c0b84e63968d27d493fd2fbdde658","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/74c732d8d4b88957365dd80770032bab706e84e2...60abd47e194c0b84e63968d27d493fd2fbdde658","commits":[{"id":"60abd47e194c0b84e63968d27d493fd2fbdde658","message":"chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 9eba0fd(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=9eba0fd、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\n未跑运行态:本批只新增两个纯转发的契约文件,未改任何运行代码,runtime 证据仍绑\ndf72512(733 / 204-204 / 零违规)且未失效。按三级分开陈述纪律,不用静态绿冒充运行态绿,\n也不为没动运行代码的改动重跑一轮 20 分钟。\n\nkernel-admission 报告里 request-context.ts 与 platform-ports.ts 会出现在 K5 的\n「零跨产品消费」观测行——这是**预期且已登记**的过渡态(立项 §5.1),不是新缺口:\n接线在 B2c-2,届时它们才真正被消费。\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/60abd47e194c0b84e63968d27d493fd2fbdde658","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:32:52-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":"9eba0fd28474159053db82929391b72070d4c78f","message":"feat(contracts): B2c-1 迁入平台端口契约——自建 permission/audit 的可替换插座就位\n\n「内核退回 pin」里价值最高的一块的**契约层**。框架 0.7.0 的 platform-ports 给出四个端口\n(权限 / 审计 / 事实出口 / 服务凭据),各自对应一个企业控制面模块;端口只定形状与\nfail-closed 默认实现,权威实现由基础设施在装配点注入。\n\n packages/contracts/src/request-context.ts 14 导出(platform-ports 的决策入参形状)\n packages/contracts/src/platform-ports.ts 31 导出\n\n对本仓的意义:自建 identity / permission / audit 是错层资产(铁律三:平台拥有规则),\n但此前**没有可替换的接口**,替换等于大手术。插座就位后,将来控制面客户端发布且有 CI\n阶段门证据时只换实现、**接口不变**——迁移从「大手术」降为「接插座」。本仓分叉于框架\n0.1.0、从未见过这组端口,这正是当初各造一套的原因。\n\n**本批只做契约层,接线另起一片(B2c-2),理由与代价登记在立项 §5.1。**\nB2 开工时我立过「净迁入的模块不该先暴露后接线」,这里部分收回并说明区别:接线实测远大于\n立项估计——要在两后端各实现 PermissionDecisionPort、经 registry.replace() 注入、改写一条\n**正在生效的权限判定链**。安全敏感改动不该接在长批次尾巴上做。过渡期这两个模块是零消费面,\nK5 会把它们列进观测行;**这不是绿,是登记在案的欠账**,B2c-2 长期不做就应当退回去。\n\n已查清的接线设计(下一片直接用):**不能直接拿框架的 createLocalPlatformPorts 做权限端口**\n——它是「租户作用域 + 动作目录」式放行,比本仓的 resolveEffectivePermissions(角色矩阵 +\nsubject 级覆盖 + ALLOW/DENY 优先级)**弱**,套用等于削弱一条在跑的控制。正确做法是本仓实现\n自己的端口委托现有判定,用框架为此预留的 registry.replace() 注入。收口点已定位:\nNestJS PermissionsService.require()、Fastify hasEffectivePermission()。\n顺带好性质:PLATFORM_PORTS_MODE=local 将成为部署配置里一句可审计的显式声明\n——「本部署跑在自建权限上,不是平台权威」,错层资产第一次在编排层可见。\n\n过程中修了两个同类错误,都是**转发清单靠 grep 生成而 grep 漏了模式**:\n ① 漏 `export async function` → assertPermitted 未转发\n ② 把 class PlatformPortsRegistry 放进 type 组 → tsc 全过、运行时取不到\n第二个尤其阴险。现已加运行时可取性核对,10 个值导出全过;31 个导出与框架逐一比对无遗漏。\n\n@repo/contracts 1.20.0 → 1.21.0;三把锁重签(exports 42 模块 / 755 导出);边界受管面\n144 → 146;接入手册下游锁行同步。静态整轮 **28/28**(退出码 0)。\n运行态未受影响——本批只加契约文件,未改任何运行代码,runtime 仍绑 df72512。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9eba0fd28474159053db82929391b72070d4c78f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:31:20-07:00","added":["packages/contracts/src/platform-ports.ts","packages/contracts/src/request-context.ts"],"removed":[],"modified":["CLAUDE.md","docs/planning/内核退回pin立项-2026-09-18.md","docs/product-extension-guide.md","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/index.ts","packages/contracts/src/kernel.ts"]}],"total_commits":0,"head_commit":{"id":"60abd47e194c0b84e63968d27d493fd2fbdde658","message":"chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 9eba0fd(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=9eba0fd、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\n未跑运行态:本批只新增两个纯转发的契约文件,未改任何运行代码,runtime 证据仍绑\ndf72512(733 / 204-204 / 零违规)且未失效。按三级分开陈述纪律,不用静态绿冒充运行态绿,\n也不为没动运行代码的改动重跑一轮 20 分钟。\n\nkernel-admission 报告里 request-context.ts 与 platform-ports.ts 会出现在 K5 的\n「零跨产品消费」观测行——这是**预期且已登记**的过渡态(立项 §5.1),不是新缺口:\n接线在 B2c-2,届时它们才真正被消费。\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/60abd47e194c0b84e63968d27d493fd2fbdde658","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:32:52-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":88443,"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-18T23:15: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
|
36
|
1789770777
|
1789770786
|
0
|
1789770776
|
1789770800
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24145
|
chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚 chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点...
|
76
|
5
|
platform-governance.yml
|
81
|
5
|
0
|
refs/heads/main
|
60abd47e194c0b84e63968d27d493fd2fbdde658
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"74c732d8d4b88957365dd80770032bab706e84e2","after":"60abd47e194c0b84e63968d27d493fd2fbdde658","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/74c732d8d4b88957365dd80770032bab706e84e2...60abd47e194c0b84e63968d27d493fd2fbdde658","commits":[{"id":"60abd47e194c0b84e63968d27d493fd2fbdde658","message":"chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 9eba0fd(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=9eba0fd、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\n未跑运行态:本批只新增两个纯转发的契约文件,未改任何运行代码,runtime 证据仍绑\ndf72512(733 / 204-204 / 零违规)且未失效。按三级分开陈述纪律,不用静态绿冒充运行态绿,\n也不为没动运行代码的改动重跑一轮 20 分钟。\n\nkernel-admission 报告里 request-context.ts 与 platform-ports.ts 会出现在 K5 的\n「零跨产品消费」观测行——这是**预期且已登记**的过渡态(立项 §5.1),不是新缺口:\n接线在 B2c-2,届时它们才真正被消费。\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/60abd47e194c0b84e63968d27d493fd2fbdde658","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:32:52-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":"9eba0fd28474159053db82929391b72070d4c78f","message":"feat(contracts): B2c-1 迁入平台端口契约——自建 permission/audit 的可替换插座就位\n\n「内核退回 pin」里价值最高的一块的**契约层**。框架 0.7.0 的 platform-ports 给出四个端口\n(权限 / 审计 / 事实出口 / 服务凭据),各自对应一个企业控制面模块;端口只定形状与\nfail-closed 默认实现,权威实现由基础设施在装配点注入。\n\n packages/contracts/src/request-context.ts 14 导出(platform-ports 的决策入参形状)\n packages/contracts/src/platform-ports.ts 31 导出\n\n对本仓的意义:自建 identity / permission / audit 是错层资产(铁律三:平台拥有规则),\n但此前**没有可替换的接口**,替换等于大手术。插座就位后,将来控制面客户端发布且有 CI\n阶段门证据时只换实现、**接口不变**——迁移从「大手术」降为「接插座」。本仓分叉于框架\n0.1.0、从未见过这组端口,这正是当初各造一套的原因。\n\n**本批只做契约层,接线另起一片(B2c-2),理由与代价登记在立项 §5.1。**\nB2 开工时我立过「净迁入的模块不该先暴露后接线」,这里部分收回并说明区别:接线实测远大于\n立项估计——要在两后端各实现 PermissionDecisionPort、经 registry.replace() 注入、改写一条\n**正在生效的权限判定链**。安全敏感改动不该接在长批次尾巴上做。过渡期这两个模块是零消费面,\nK5 会把它们列进观测行;**这不是绿,是登记在案的欠账**,B2c-2 长期不做就应当退回去。\n\n已查清的接线设计(下一片直接用):**不能直接拿框架的 createLocalPlatformPorts 做权限端口**\n——它是「租户作用域 + 动作目录」式放行,比本仓的 resolveEffectivePermissions(角色矩阵 +\nsubject 级覆盖 + ALLOW/DENY 优先级)**弱**,套用等于削弱一条在跑的控制。正确做法是本仓实现\n自己的端口委托现有判定,用框架为此预留的 registry.replace() 注入。收口点已定位:\nNestJS PermissionsService.require()、Fastify hasEffectivePermission()。\n顺带好性质:PLATFORM_PORTS_MODE=local 将成为部署配置里一句可审计的显式声明\n——「本部署跑在自建权限上,不是平台权威」,错层资产第一次在编排层可见。\n\n过程中修了两个同类错误,都是**转发清单靠 grep 生成而 grep 漏了模式**:\n ① 漏 `export async function` → assertPermitted 未转发\n ② 把 class PlatformPortsRegistry 放进 type 组 → tsc 全过、运行时取不到\n第二个尤其阴险。现已加运行时可取性核对,10 个值导出全过;31 个导出与框架逐一比对无遗漏。\n\n@repo/contracts 1.20.0 → 1.21.0;三把锁重签(exports 42 模块 / 755 导出);边界受管面\n144 → 146;接入手册下游锁行同步。静态整轮 **28/28**(退出码 0)。\n运行态未受影响——本批只加契约文件,未改任何运行代码,runtime 仍绑 df72512。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9eba0fd28474159053db82929391b72070d4c78f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:31:20-07:00","added":["packages/contracts/src/platform-ports.ts","packages/contracts/src/request-context.ts"],"removed":[],"modified":["CLAUDE.md","docs/planning/内核退回pin立项-2026-09-18.md","docs/product-extension-guide.md","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/index.ts","packages/contracts/src/kernel.ts"]}],"total_commits":0,"head_commit":{"id":"60abd47e194c0b84e63968d27d493fd2fbdde658","message":"chore(reports): B2c-1 的二十八份静态证据 回绑 @ 9eba0fd,刷新快照锚点\n\n本批次最后一个提交,按 C241 同时刷新快照锚点到 9eba0fd(声明落后 0,本提交自身使实测\n落后 1,在 +1 自指窗内)。\n\n二十八份 reports/*.latest.json 全部 clean 绑定(gitSha=9eba0fd、worktreeDirty:false)。\n静态整轮 28/28 步骤全部通过(退出码 0)。\n\n未跑运行态:本批只新增两个纯转发的契约文件,未改任何运行代码,runtime 证据仍绑\ndf72512(733 / 204-204 / 零违规)且未失效。按三级分开陈述纪律,不用静态绿冒充运行态绿,\n也不为没动运行代码的改动重跑一轮 20 分钟。\n\nkernel-admission 报告里 request-context.ts 与 platform-ports.ts 会出现在 K5 的\n「零跨产品消费」观测行——这是**预期且已登记**的过渡态(立项 §5.1),不是新缺口:\n接线在 B2c-2,届时它们才真正被消费。\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/60abd47e194c0b84e63968d27d493fd2fbdde658","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T15:32:52-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":88443,"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-18T23:15: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
|
8
|
1789770787
|
1789770795
|
0
|
1789770776
|
1789770801
|
|
|
0
|
Edit
Delete
|
|
24376
|
chore(reports): 回绑通知模块证据总账 @ be8e387
|
116
|
5
|
platform.yml
|
259
|
5
|
0
|
refs/heads/main
|
60af94a90f8aa56dae41d9a17df320b089d17dd4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"343312a77c1ac9469ca3a0010a3a46d6c23117da","after":"60af94a90f8aa56dae41d9a17df320b089d17dd4","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/343312a77c1ac9469ca3a0010a3a46d6c23117da...60af94a90f8aa56dae41d9a17df320b089d17dd4","commits":[{"id":"60af94a90f8aa56dae41d9a17df320b089d17dd4","message":"chore(reports): 回绑通知模块证据总账 @ be8e387\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60af94a90f8aa56dae41d9a17df320b089d17dd4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:48:15-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},{"id":"be8e387d63f6478fe92dfe9bc68a47bc0bf8f9b0","message":"chore(reports): 回绑通知模块夹具证据 @ dcfd677\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/be8e387d63f6478fe92dfe9bc68a47bc0bf8f9b0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:47:38-07:00","added":[],"removed":[],"modified":["reports/fixture-coverage.latest.json","reports/fixtures.latest.json"]},{"id":"dcfd677910824b2848ead3d349708761d72fb9ac","message":"chore(reports): 回绑通知模块治理快照 @ 0152f14\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/dcfd677910824b2848ead3d349708761d72fb9ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:47:10-07:00","added":[],"removed":[],"modified":["reports/caddy.latest.json","reports/candidate-contracts.latest.json","reports/catalog-reconciliation.latest.json","reports/ci-mirror.latest.json","reports/cross-cutting-capabilities.latest.json","reports/doc-claims.latest.json","reports/fact-pii.latest.json","reports/facts.latest.json","reports/gate-flow.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/otel.latest.json","reports/stub-surface.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"0152f145bbb5f0204621e34f532d082920b34266","message":"chore(reports): 回绑通知投递执行证据 @ d1a4487\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0152f145bbb5f0204621e34f532d082920b34266","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:45:37-07:00","added":[],"removed":[],"modified":["reports/execution-slices.latest.json","reports/policy-governance.latest.json"]},{"id":"d1a4487ae73431a4082fa861895e3db83154682f","message":"fix(notification-webhook): 重试作业只调用真实投递执行器\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1a4487ae73431a4082fa861895e3db83154682f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:44:26-07:00","added":[],"removed":[],"modified":["docs/缺失模块完善清单-2026-09-21.md","governance/job-readiness.json","runtime/modules/notification-webhook/src/delivery/delivery-lifecycle.ts","runtime/modules/notification-webhook/src/index.ts","runtime/modules/notification-webhook/src/jobs/delivery-retry.ts","runtime/modules/notification-webhook/src/jobs/index.ts","runtime/modules/notification-webhook/src/jobs/jobs.test.ts","runtime/modules/notification-webhook/src/persistence/delivery-store.ts","runtime/modules/notification-webhook/src/persistence/prisma-delivery-store.ts","runtime/test/integration/policy-governance.mjs"]}],"total_commits":0,"head_commit":{"id":"60af94a90f8aa56dae41d9a17df320b089d17dd4","message":"chore(reports): 回绑通知模块证据总账 @ be8e387\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/60af94a90f8aa56dae41d9a17df320b089d17dd4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T00:48:15-07:00","added":[],"removed":[],"modified":["reports/evidence-freshness.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":34341,"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":44,"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-23T15:12: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
|
1790149716
|
1790149764
|
0
|
1790149714
|
1790149794
|
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
|
|
24568
|
docs: 推送快照回灌——Gitea main=4a0e14f、tag v0.23.0、regis docs: 推送快照回灌——Gitea main=4a0e14f、tag v0.23.0、registry latest=0.23.0;GitHub 镜像未同步...
|
54
|
5
|
governance.yml
|
45
|
5
|
0
|
refs/heads/main
|
60c6b05660880e31da756180599fbe008ee73f8d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4a0e14fbf457395bb2086641776559d16ca88c5f","after":"60c6b05660880e31da756180599fbe008ee73f8d","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/4a0e14fbf457395bb2086641776559d16ca88c5f...60c6b05660880e31da756180599fbe008ee73f8d","commits":[{"id":"60c6b05660880e31da756180599fbe008ee73f8d","message":"docs: 推送快照回灌——Gitea main=4a0e14f、tag v0.23.0、registry latest=0.23.0;GitHub 镜像未同步\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/60c6b05660880e31da756180599fbe008ee73f8d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-25T23:23:00-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"60c6b05660880e31da756180599fbe008ee73f8d","message":"docs: 推送快照回灌——Gitea main=4a0e14f、tag v0.23.0、registry latest=0.23.0;GitHub 镜像未同步\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/60c6b05660880e31da756180599fbe008ee73f8d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-25T23:23:00-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":6299,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.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-07-03T12:24:18+08:00","updated_at":"2026-09-26T14:22: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
|
12
|
1790403912
|
1790404953
|
0
|
1790403783
|
1790404967
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
25133
|
docs: record verified 0.218.0 gap closure delivery
|
121
|
5
|
kernel-ci.yml
|
486
|
5
|
0
|
refs/heads/main
|
60f24807883f109c5c53af59c52876c57926fc3c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"665286b8d30a1fbf1dfe3c8dbdb36163ed655af7","after":"60f24807883f109c5c53af59c52876c57926fc3c","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/665286b8d30a1fbf1dfe3c8dbdb36163ed655af7...60f24807883f109c5c53af59c52876c57926fc3c","commits":[{"id":"60f24807883f109c5c53af59c52876c57926fc3c","message":"docs: record verified 0.218.0 gap closure delivery\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/60f24807883f109c5c53af59c52876c57926fc3c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T22:45:34-07:00","added":["ops/deployments/2026-10-03-open-gap-02180-local.md","ops/deployments/evidence/2026-10-03-open-gap-02180/32-request-intake-validation.json","ops/deployments/evidence/2026-10-03-open-gap-02180/32-request-intake.md","ops/deployments/evidence/2026-10-03-open-gap-02180/deployed-check.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/candidate-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/release-config.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/source-manifest.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/candidate-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/deploy.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority-observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority.tap","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority.test.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/post-live-strict-gates.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/preparation-note.md","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/release-config.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/source-manifest.json","ops/deployments/evidence/2026-10-03-open-gap-02180/full-ci-first-static-failure/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/full-ci/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/attempt-1-source-drift/observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/attempt-1-source-drift/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/review.md","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/runner.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/sha256.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/summary.json","ops/deployments/evidence/2026-10-03-open-gap-02180/scanner-retirement-plan.json","ops/deployments/evidence/2026-10-03-open-gap-02180/sha256.json","ops/deployments/evidence/2026-10-03-open-gap-02180/validation.json"],"removed":[],"modified":["model/release-anchors.json"]}],"total_commits":0,"head_commit":{"id":"60f24807883f109c5c53af59c52876c57926fc3c","message":"docs: record verified 0.218.0 gap closure delivery\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/60f24807883f109c5c53af59c52876c57926fc3c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-02T22:45:34-07:00","added":["ops/deployments/2026-10-03-open-gap-02180-local.md","ops/deployments/evidence/2026-10-03-open-gap-02180/32-request-intake-validation.json","ops/deployments/evidence/2026-10-03-open-gap-02180/32-request-intake.md","ops/deployments/evidence/2026-10-03-open-gap-02180/deployed-check.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/candidate-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/release-config.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/attempt-1-bfd23e31/source-manifest.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/candidate-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/deploy.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority-observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority.tap","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/live-sla-authority.test.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/post-live-strict-gates.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/preparation-note.md","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/release-config.json","ops/deployments/evidence/2026-10-03-open-gap-02180/deployment/source-manifest.json","ops/deployments/evidence/2026-10-03-open-gap-02180/full-ci-first-static-failure/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/full-ci/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/attempt-1-source-drift/observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/attempt-1-source-drift/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/observations.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/report.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/review.md","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/runner.mjs","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/sha256.json","ops/deployments/evidence/2026-10-03-open-gap-02180/independent-sla/summary.json","ops/deployments/evidence/2026-10-03-open-gap-02180/scanner-retirement-plan.json","ops/deployments/evidence/2026-10-03-open-gap-02180/sha256.json","ops/deployments/evidence/2026-10-03-open-gap-02180/validation.json"],"removed":[],"modified":["model/release-anchors.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":323513,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":18,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-10-03T13:42:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
3
|
0
|
1791108075
|
0
|
1791006338
|
1791108075
|
|
|
0
|
Edit
Delete
|