|
23810
|
docs: record the uiux-script3 release and its reco docs: record the uiux-script3 release and its recovery...
|
57
|
5
|
governance.yml
|
179
|
5
|
0
|
refs/heads/main
|
eb9f043fa4c56dae0d634c3b9de9b7de82514b24
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cbfd16f0acce3825bb85f523aede63ea30101d40","after":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/cbfd16f0acce3825bb85f523aede63ea30101d40...eb9f043fa4c56dae0d634c3b9de9b7de82514b24","commits":[{"id":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","message":"docs: record the uiux-script3 release and its recovery\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eb9f043fa4c56dae0d634c3b9de9b7de82514b24","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T18:32:42-07:00","added":["docs/releases/2026-09-10-uiux-script3.md"],"removed":[],"modified":["docs/governance/log/2026-09-09-uiux-workbench.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","message":"docs: record the uiux-script3 release and its recovery\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eb9f043fa4c56dae0d634c3b9de9b7de82514b24","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T18:32:42-07:00","added":["docs/releases/2026-09-10-uiux-script3.md"],"removed":[],"modified":["docs/governance/log/2026-09-09-uiux-workbench.md","docs/releases/current.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":827657,"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-10T09:07:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789004150
|
1789004192
|
0
|
1789003966
|
1789004192
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23756
|
docs(release): record verified admin brand creatio docs(release): record verified admin brand creation deployment...
|
57
|
5
|
governance.yml
|
127
|
5
|
0
|
refs/heads/main
|
eafae214ceae1fdb126697d5110baf2313467eea
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"826b23a6823a8a8758a9b3e20c595333551a9274","after":"eafae214ceae1fdb126697d5110baf2313467eea","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/826b23a6823a8a8758a9b3e20c595333551a9274...eafae214ceae1fdb126697d5110baf2313467eea","commits":[{"id":"eafae214ceae1fdb126697d5110baf2313467eea","message":"docs(release): record verified admin brand creation deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eafae214ceae1fdb126697d5110baf2313467eea","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T20:44:20-07:00","added":["docs/releases/2026-09-08-admin-brands1.md","reports/admin-brands-2026-09-08/browser-verification.json","reports/admin-brands-2026-09-08/deployment.json","reports/admin-brands-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-admin-brands.md","docs/releases/current.md","reports/admin-brands-2026-09-08/README.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"eafae214ceae1fdb126697d5110baf2313467eea","message":"docs(release): record verified admin brand creation deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eafae214ceae1fdb126697d5110baf2313467eea","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T20:44:20-07:00","added":["docs/releases/2026-09-08-admin-brands1.md","reports/admin-brands-2026-09-08/browser-verification.json","reports/admin-brands-2026-09-08/deployment.json","reports/admin-brands-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-admin-brands.md","docs/releases/current.md","reports/admin-brands-2026-09-08/README.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":769180,"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":7,"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-09T11:38:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788925476
|
1788925517
|
0
|
1788925475
|
1788925517
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23472
|
修复评价截图 OCR 兼容性
|
51
|
5
|
ci.yml
|
10
|
8
|
0
|
refs/heads/main
|
ead57a81e98d7f55797e6963b61e4847d9d9a96d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"092acb7eb779cf4d784a4aec60f834e797be7e46","after":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/092acb7eb779cf4d784a4aec60f834e797be7e46...ead57a81e98d7f55797e6963b61e4847d9d9a96d","commits":[{"id":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","message":"修复评价截图 OCR 兼容性\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ead57a81e98d7f55797e6963b61e4847d9d9a96d","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T16:21:17+08:00","added":[],"removed":[],"modified":["server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/vision.ts","server/test/ocr-parse.test.ts","server/test/ocr-provider.unit.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/scripts/test-static.mjs"]}],"total_commits":0,"head_commit":{"id":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","message":"修复评价截图 OCR 兼容性\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ead57a81e98d7f55797e6963b61e4847d9d9a96d","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T16:21:17+08:00","added":[],"removed":[],"modified":["server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/vision.ts","server/test/ocr-parse.test.ts","server/test/ocr-provider.unit.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/scripts/test-static.mjs"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":87461,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.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-07-02T16:02:07+08:00","updated_at":"2026-07-31T15:46: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":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"},"sender":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"}}...
|
push
|
2
|
8
|
1785486106
|
1785486233
|
0
|
1785486106
|
1785486233
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23592
|
feat(capacity): 新增资源标签契约
|
104
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","message":"feat(capacity): 新增资源标签契约\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/resource-tags-blueprint.md","packages/contracts/src/resource-tags.test.ts","packages/contracts/src/resource-tags.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"e6c88cfc485e250d564fcae637c22bf6453268a4","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/e6c88cfc485e250d564fcae637c22bf6453268a4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:29-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d67a89fd8645c27e839259f0a6a4b95666756729","message":"feat: 平台身份重绑定 cost-capacity(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/d67a89fd8645c27e839259f0a6a4b95666756729","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:22-07:00","added":["docs/framework-migration.md","products/juhai.costcapacity/README.md","products/juhai.costcapacity/acceptance/juhai.costcapacity.order.acceptance.mjs","products/juhai.costcapacity/migrations/juhai.costcapacity.order/20260826090000_create_orders.sql","products/juhai.costcapacity/migrations/juhai.costcapacity.order/20260826091000_create_order_events.sql","products/juhai.costcapacity/package.json","products/juhai.costcapacity/product.manifest.json","products/juhai.costcapacity/src/contracts.ts","products/juhai.costcapacity/src/fastify.ts","products/juhai.costcapacity/src/host.ts","products/juhai.costcapacity/src/index.ts","products/juhai.costcapacity/src/manifest.ts","products/juhai.costcapacity/src/nestjs.ts","products/juhai.costcapacity/src/order-repository.ts","products/juhai.costcapacity/src/tools.ts","products/juhai.costcapacity/src/web.tsx","products/juhai.costcapacity/test/os-host.runtime.test.ts","products/juhai.costcapacity/tsconfig.os-host.json","products/juhai.costcapacity/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"5fb2d0dedcb19ab42f3be24316582eeaacddd59d","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/5fb2d0dedcb19ab42f3be24316582eeaacddd59d","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:19-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"f8cbd83703e403e0fccbd379d2946a655f337814","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/f8cbd83703e403e0fccbd379d2946a655f337814","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:47:31-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","message":"feat(capacity): 新增资源标签契约\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/resource-tags-blueprint.md","packages/contracts/src/resource-tags.test.ts","packages/contracts/src/resource-tags.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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":104,"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":"cost-capacity","full_name":"luoanwu/cost-capacity","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/cost-capacity/languages","html_url":"https://gitea.g-hi.com/luoanwu/cost-capacity","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/cost-capacity","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/cost-capacity.git","clone_url":"https://gitea.g-hi.com/luoanwu/cost-capacity.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-09-01T21:58:09+08:00","updated_at":"2026-09-01T21:59:45+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
1788278684
|
1788279540
|
0
|
1788271185
|
1788373230
|
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
|
|
23468
|
接入阿里模型
|
51
|
5
|
ci.yml
|
6
|
8
|
0
|
refs/heads/main
|
ea5ea97b4d7487a0cd01201fcf404ec4b1913321
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","after":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/8be066d1f0c5db776932ea77d5e0ee292bb367dd...ea5ea97b4d7487a0cd01201fcf404ec4b1913321","commits":[{"id":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ea5ea97b4d7487a0cd01201fcf404ec4b1913321","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:10:06+08:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","docker-compose.colima.yml","docs/reports/production-capability-truth-matrix-2026-06-12.md","e2e/playwright.config.ts","server/.env.example","server/README.md","server/docker-compose.yml","server/src/adapters/ai/index.ts","server/src/adapters/ai/mock.ts","server/src/adapters/ai/provider.ts","server/src/adapters/ai/real.ts","server/src/adapters/ocr/index.ts","server/src/adapters/ocr/mock.ts","server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/provider.ts","server/src/adapters/ocr/vision.ts","server/src/config/env.ts","server/src/lib/errors.ts","server/src/middleware/error.ts","server/src/modules/metrics/routes.ts","server/src/modules/metrics/schema.ts","server/src/modules/metrics/service.ts","server/src/modules/periphery/routes.ts","server/src/modules/reviews/routes.ts","server/src/modules/reviews/service.ts","server/src/openapi.ts","server/test/ai-provider.unit.test.ts","server/test/ocr-parse.test.ts","server/test/r11-review-care.test.ts","server/vitest.config.ts","server/vitest.unit.config.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/ios-frame.jsx","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/screens-ops.jsx","团购本地生活AI运营App/screens-p2.jsx","团购本地生活AI运营App/scripts/test-static.mjs","开发计划.md","真实链路与状态机审计矩阵.md","项目模块关系图谱.md"]}],"total_commits":0,"head_commit":{"id":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ea5ea97b4d7487a0cd01201fcf404ec4b1913321","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:10:06+08:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","docker-compose.colima.yml","docs/reports/production-capability-truth-matrix-2026-06-12.md","e2e/playwright.config.ts","server/.env.example","server/README.md","server/docker-compose.yml","server/src/adapters/ai/index.ts","server/src/adapters/ai/mock.ts","server/src/adapters/ai/provider.ts","server/src/adapters/ai/real.ts","server/src/adapters/ocr/index.ts","server/src/adapters/ocr/mock.ts","server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/provider.ts","server/src/adapters/ocr/vision.ts","server/src/config/env.ts","server/src/lib/errors.ts","server/src/middleware/error.ts","server/src/modules/metrics/routes.ts","server/src/modules/metrics/schema.ts","server/src/modules/metrics/service.ts","server/src/modules/periphery/routes.ts","server/src/modules/reviews/routes.ts","server/src/modules/reviews/service.ts","server/src/openapi.ts","server/test/ai-provider.unit.test.ts","server/test/ocr-parse.test.ts","server/test/r11-review-care.test.ts","server/vitest.config.ts","server/vitest.unit.config.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/ios-frame.jsx","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/screens-ops.jsx","团购本地生活AI运营App/screens-p2.jsx","团购本地生活AI运营App/scripts/test-static.mjs","开发计划.md","真实链路与状态机审计矩阵.md","项目模块关系图谱.md"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":87011,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.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-07-02T16:02:07+08:00","updated_at":"2026-07-22T17:24:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"},"sender":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"}}...
|
push
|
2
|
8
|
1785478212
|
1785478332
|
0
|
1785478211
|
1785478332
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23739
|
docs(release): record verified subtitle burn panel docs(release): record verified subtitle burn panel deployment...
|
57
|
5
|
governance.yml
|
110
|
5
|
0
|
refs/heads/main
|
e9b89290bab75ea32c59892a594d1a67df6804b6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"79e458ad33494277a3fb247ae620a8e6e6d9c6f7","after":"e9b89290bab75ea32c59892a594d1a67df6804b6","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/79e458ad33494277a3fb247ae620a8e6e6d9c6f7...e9b89290bab75ea32c59892a594d1a67df6804b6","commits":[{"id":"e9b89290bab75ea32c59892a594d1a67df6804b6","message":"docs(release): record verified subtitle burn panel deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e9b89290bab75ea32c59892a594d1a67df6804b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T17:09:19-07:00","added":["docs/releases/2026-09-08-subtitle-burn1.md","reports/subtitle-burn-2026-09-08/README.md","reports/subtitle-burn-2026-09-08/api.json","reports/subtitle-burn-2026-09-08/backup-verification.json","reports/subtitle-burn-2026-09-08/browser-verification.json","reports/subtitle-burn-2026-09-08/deployed-verify.json","reports/subtitle-burn-2026-09-08/deployment.json","reports/subtitle-burn-2026-09-08/output.png","reports/subtitle-burn-2026-09-08/post-deployment-smoke.json","reports/subtitle-burn-2026-09-08/post-production.json","reports/subtitle-burn-2026-09-08/subtitle-burn-mobile.png","reports/subtitle-burn-2026-09-08/subtitle-burn.png","reports/subtitle-burn-2026-09-08/subtitle-regression.json","reports/subtitle-burn-2026-09-08/ui.json","reports/subtitle-burn-2026-09-08/validation.json"],"removed":[],"modified":["docs/releases/current.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9b89290bab75ea32c59892a594d1a67df6804b6","message":"docs(release): record verified subtitle burn panel deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e9b89290bab75ea32c59892a594d1a67df6804b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T17:09:19-07:00","added":["docs/releases/2026-09-08-subtitle-burn1.md","reports/subtitle-burn-2026-09-08/README.md","reports/subtitle-burn-2026-09-08/api.json","reports/subtitle-burn-2026-09-08/backup-verification.json","reports/subtitle-burn-2026-09-08/browser-verification.json","reports/subtitle-burn-2026-09-08/deployed-verify.json","reports/subtitle-burn-2026-09-08/deployment.json","reports/subtitle-burn-2026-09-08/output.png","reports/subtitle-burn-2026-09-08/post-deployment-smoke.json","reports/subtitle-burn-2026-09-08/post-production.json","reports/subtitle-burn-2026-09-08/subtitle-burn-mobile.png","reports/subtitle-burn-2026-09-08/subtitle-burn.png","reports/subtitle-burn-2026-09-08/subtitle-regression.json","reports/subtitle-burn-2026-09-08/ui.json","reports/subtitle-burn-2026-09-08/validation.json"],"removed":[],"modified":["docs/releases/current.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"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":723904,"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":7,"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-09T07:59:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
4
|
1788912565
|
1788912983
|
0
|
1788912563
|
1788912983
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
18316
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
ci.yml
|
18236
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},"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":5230163,"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-28T11:36:20+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
|
3
|
13
|
1777360416
|
1777360452
|
0
|
1777360414
|
1777360554
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
18317
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
e2e-tests.yml
|
18237
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},"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":5230163,"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-28T11:36:20+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
|
1777360452
|
1777360599
|
0
|
1777360415
|
1777361857
|
|
|
0
|
Edit
Delete
|
|
18318
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
test-pipeline.yml
|
18238
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","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","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},"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":5230163,"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-28T11:36:20+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
|
3
|
25
|
0
|
1777360557
|
0
|
1777360416
|
1777360562
|
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
|
|
23225
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
migration-safety.yml
|
23143
|
5
|
0
|
refs/heads/claude/bold-raman-0239cc
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/claude/bold-raman-0 {"ref":"refs/heads/claude/bold-raman-0239cc","before":"230f7616b5f0876ecd095ffd76c841876a8381ce","after":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/230f7616b5f0876ecd095ffd76c841876a8381ce...e8e3ea6b39e0d7d48f888052ef823f11e2327271","commits":[{"id":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","message":"Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc\n\n# Conflicts:\n#\tfrontend/src/api/modules/course-marketplace.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e8e3ea6b39e0d7d48f888052ef823f11e2327271","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:23:04-07:00","added":["backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","frontend/src/api/modules/agent-sessions.ts","frontend/src/views/ai-agents/AgentSessions.vue"],"removed":[],"modified":["backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.schema.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process/process.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.routes.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/acquisition-center/acquisition-center.spec.ts","e2e/tests/admin-center/admin-center-crud-fixed.spec.ts","e2e/tests/admin-center/admin-center-crud.spec.ts","e2e/tests/ai-agents/ai-agents-employee.spec.ts","e2e/tests/all-domains-comprehensive.spec.ts","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/router/modules/ai-agents.ts","frontend/src/views/marketing-forms/Index.vue"]},{"id":"98bb2335db02b7b18a39302fdffdb672fabbbcaf","message":"Merge pull request #53 from laoluojuhai/claude/sweet-cray-375a44\n\nFix cross-tenant biz_code lookup 500 + contract signatory fixture + array-guard","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98bb2335db02b7b18a39302fdffdb672fabbbcaf","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-05-15T06:16:18-07:00","added":[],"removed":[],"modified":["e2e/pages/ContractDetailPage.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/fixtures/business-flow-api.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/marketing-forms/Index.vue"]},{"id":"14e9a5340649ca0e32e72de6ebcec73ae3643029","message":"Merge remote-tracking branch 'origin/main' into claude/sweet-cray-375a44\n\n# Conflicts:\n#\tbackend/src/modules/contracts/payment-plan.service.ts\n#\tbackend/src/shared/utils/biz-code.test.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/14e9a5340649ca0e32e72de6ebcec73ae3643029","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:06:28-07:00","added":["e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/.last-run.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","e2e/test-results/results.json"],"removed":["e2e/playwright-report/data/05302d27d828659868109fab8b09970a69ce6b50.json","e2e/playwright-report/data/0b19f1669441b0fa4a6eb395da6c660841e77197.json","e2e/playwright-report/data/0dca4b5b486b502c5e9fa7481ef53da32ceaa898.json","e2e/playwright-report/data/0f5010580cf8bf73167599859045a3f6519051c8.json","e2e/playwright-report/data/150a8cc39437ede9a49b27fe41602da258520827.json","e2e/playwright-report/data/196065ab6af7b3e76a58ed152202537c4dd59ee9.json","e2e/playwright-report/data/3820b706cfbfce9483e26b74fd2e6f987452cdad.json","e2e/playwright-report/data/582399cf8b6897d7e4f96cbe8a376c68d5953006.json","e2e/playwright-report/data/6199eb36710823e68489b29d98e1e74e8f64ed75.json","e2e/playwright-report/data/7f13ed211cab208055d2a11f1a2dee4c82f0a7a6.json","e2e/playwright-report/data/86fb5fe0ae42b92ba61ca35db958ea354b96b620.json","e2e/playwright-report/data/983257b8b92d7b4c19fc91cb83353fbca254ccfc.json","e2e/playwright-report/data/addb0b1ed718c7f4993fcd300664f3034fec7222.json","e2e/playwright-report/data/beecb14e75895260907b837ffe735067b111735a.json","e2e/playwright-report/data/cf00d9461c9de3f3ad96ebf7e8085b3548cf178d.json","e2e/playwright-report/data/d8303cd928e664751e39480aed1fa042085cc2b3.json","e2e/playwright-report/data/ecd99923b361cbfdd26c7c9a033740cf0ebb000c.json","e2e/playwright-report/data/f47b16417fd10545f1d83f275936fdfc95b2b73b.json","e2e/playwright-report/data/fb50ef4772288a0cd4ffce956779366eb9cb07fc.json","e2e/playwright-report/data/fe6449bb075483088176363336a32f22eba11cd8.json","e2e/test-results/.playwright-artifacts-1/08b625f83805f4e7c3248aa022530097.png","e2e/test-results/.playwright-artifacts-1/0c35c8124e5ecb2acdafd65bbfb995a4.png","e2e/test-results/.playwright-artifacts-1/13bce6ae3d196f64279194b031412233.png","e2e/test-results/.playwright-artifacts-1/2ac838a516d2386d206fea0a31e39478.png","e2e/test-results/.playwright-artifacts-1/321ff0acca1f5f18229f3efab964b1da.png","e2e/test-results/.playwright-artifacts-1/354683726911a0d3e35b8e9f8aaa6965.png","e2e/test-results/.playwright-artifacts-1/406bce65318d7adf368573166e780c92.png","e2e/test-results/.playwright-artifacts-1/43ddc5e5a50786d884f1e3d574dd48ee.png","e2e/test-results/.playwright-artifacts-1/4752967a19bea306860f69f4c3caaf3f.png","e2e/test-results/.playwright-artifacts-1/47b2af1cf0dae0594a91449b314127b9.png","e2e/test-results/.playwright-artifacts-1/47cd5ad24e5cb582de4cad3c69353224.png","e2e/test-results/.playwright-artifacts-1/4b5cd7d1e75c888a03dea338f103e040.png","e2e/test-results/.playwright-artifacts-1/62381313727ebeed6952b92b0ed159ca.png","e2e/test-results/.playwright-artifacts-1/6b8e1fc02952f902b38538ecf6e9fa77.png","e2e/test-results/.playwright-artifacts-1/793e12e88749b35228ee482012405411.png","e2e/test-results/.playwright-artifacts-1/874d416579f3ff01345ab240183ec4c3.png","e2e/test-results/.playwright-artifacts-1/8bab41e2550401645d552e93bd8c9a5a.png","e2e/test-results/.playwright-artifacts-1/a1bfcaed01cf8c923dba9024c2aa0fd2.png","e2e/test-results/.playwright-artifacts-1/a437585f8d29f09e77fdd3f2d81e094a.png","e2e/test-results/.playwright-artifacts-1/a71d96b72d08c65a39258f72386b953d.png","e2e/test-results/.playwright-artifacts-1/ac283cb6f7a57c9798712ab4c40fe564.png","e2e/test-results/.playwright-artifacts-1/ac900850996fc6873c6d900620a010f1.png","e2e/test-results/.playwright-artifacts-1/b1e04c91e098eeb0a79825c13a7efcec.png","e2e/test-results/.playwright-artifacts-1/b9e54cbe87014e315dd4d6dc9d864c02.png","e2e/test-results/.playwright-artifacts-1/bb4896dbb661433252a48faff2de3e5b.png","e2e/test-results/.playwright-artifacts-1/ce20ab09247ee7dc414edb7954744d32.png","e2e/test-results/.playwright-artifacts-1/d0fc8ed9d5694da131965d9f5acd252c.png","e2e/test-results/.playwright-artifacts-1/d1e62c71ae812b3f4a072b99e3f20524.png","e2e/test-results/.playwright-artifacts-1/d29c67ae8d8ed9c6fcffe88b597be423.png","e2e/test-results/.playwright-artifacts-1/d563c1c2c9e4ced07b7c6ad2c6c0e613.png","e2e/test-results/.playwright-artifacts-1/d61cd3bc9ceae3d53840e53ea715489b.png","e2e/test-results/.playwright-artifacts-1/d9574e36c16a647a1c80953308b76a94.png","e2e/test-results/.playwright-artifacts-1/dd3803a5a14894f308ce7340f64efec5.png","e2e/test-results/.playwright-artifacts-1/e32790ae09ae2a56ad60e654301a428e.png","e2e/test-results/.playwright-artifacts-1/e3cc6c626b5dcafebb325bd8ab3436ef.png","e2e/test-results/.playwright-artifacts-1/f9e99dfe2a53984e7edd593342072020.png","e2e/test-results/.playwright-artifacts-1/ff6360e809629b6835df61a9f143272c.png","e2e/test-results/crud-00-crud-runner-CRUD-严-045cc--删除-软-硬-可用-module-customers-chromium/attachments/probe-D01-43f3f534a654038b85c646056aec329dbfeb4d5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-054a6-campaign-use-case-templates-chromium/attachments/probe-E01-4d1baa925eb58ef73b1455f4209348c5545a7853.json","e2e/test-results/crud-00-crud-runner-CRUD-严-06138-理-P01-权限矩阵-module-customers-chromium/attachments/probe-P01-7a92f62d842cf2e2b48d625d959c278eead6a2c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0bf40-权限矩阵-module-community-tasks-chromium/attachments/probe-P01-63f62d0d51305376d92b9203df59dd8b65251744.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cce6-02-更新权限-冲突-module-customers-chromium/attachments/probe-U02-05cbd15501fdeef5549df1411fbdeea8437c82f8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1834b-campaign-use-case-templates-chromium/attachments/probe-C01-37afe0f40ea27b25a9f39afe2b05a69332e4f322.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cf09-限-冲突-module-community-tasks-chromium/attachments/probe-U02-bffeea7b8aa86e7be427acd8f1ee0a0641f4baff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-31777-2-恢复或不可见校验-module-customers-chromium/attachments/probe-D02-68a93efaf83e70716278f522f79d3bb6c0f7700c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-35542-硬-可用-module-community-tasks-chromium/attachments/probe-D01-83f00e7a4c3e34327809f05d81b1bbd3526263c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-37eeb-02-恢复或不可见校验-module-payments-chromium/attachments/probe-D02-848ee1729a012c6a7a06ce871010d9978268307b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3cbb5-campaign-use-case-templates-chromium/attachments/probe-U02-509eb90646189bf652af1c88e9cd1cb8174a9dca.json","e2e/test-results/crud-00-crud-runner-CRUD-严-506e1-理-U01-更新成功-module-customers-chromium/attachments/probe-U01-1be5f54a585011b9d5bab67c79f0559ea3d3f7c5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-50f8a-campaign-use-case-templates-chromium/attachments/probe-U01-377222092b9e6179c098efdee1e54abf6e76bf00.json","e2e/test-results/crud-00-crud-runner-CRUD-严-58393-理-C01-创建成功-module-customers-chromium/attachments/probe-C01-c86240c4d7ed888a7197c8aae07dd4a7eefb80fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5ba96-C02-创建校验失败-module-customers-chromium/attachments/probe-C02-6006078385f17c9afcfe778a4b0cc2734368a02d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-646f5-campaign-use-case-templates-chromium/attachments/probe-P01-33a3a681d465c3b56f3abf9066613c8f16f8b3b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8ca6a-campaign-use-case-templates-chromium/attachments/probe-C02-7c0a754109178224b015f3f7acc375b5f07a07d8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9133e-管理-U01-更新成功-module-payments-chromium/attachments/probe-U01-5f220592450d04364327909ce7d583e881d3b4c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-91f5b-异常恢复-module-community-tasks-chromium/attachments/probe-E01-f8a0bc08dc7f2343d611ed07c7ede70b6a20025c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9ec63-可见校验-module-community-tasks-chromium/attachments/probe-D02-30f98230cb7e54a850734920a0ed03a2ba6f824d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a53c8-校验失败-module-community-tasks-chromium/attachments/probe-C02-8d345b005c75eac17631171eebe6a59c05007a0e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ad0ea-campaign-use-case-templates-chromium/attachments/probe-D02-b1f0d50a90f1a0fefb5a588df068accacfa38ab0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c06c1-理-E01-异常恢复-module-customers-chromium/attachments/probe-E01-9e4c7bde17953e96291205fa1abbe737a3e54ff6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7360-campaign-use-case-templates-chromium/attachments/probe-D01-614dc7292ec9c770d888dd52540963b8bbd5b0ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ddee7-更新成功-module-community-tasks-chromium/attachments/probe-U01-043ceaacd67adf4e0792c0fb7650ddd4cc54fd1b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eab02-创建成功-module-community-tasks-chromium/attachments/probe-C01-9346af4b6b5eb632d6e442aa4c6fbe134205c6b6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-efadf-1-删除-软-硬-可用-module-payments-chromium/attachments/probe-D01-72d8861cadc40e3b03cd6731b2208c7eb607255f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f4903-U02-更新权限-冲突-module-payments-chromium/attachments/probe-U02-1cb4e1caa9d34f6b1b7c369845e29a7a3e600b9c.json","e2e/test-results/crud/probes/campaign-use-case-templates-C01-1778839948093.json","e2e/test-results/crud/probes/campaign-use-case-templates-C02-1778839950142.json","e2e/test-results/crud/probes/campaign-use-case-templates-D01-1778839971761.json","e2e/test-results/crud/probes/campaign-use-case-templates-D02-1778839974477.json","e2e/test-results/crud/probes/campaign-use-case-templates-E01-1778839963966.json","e2e/test-results/crud/probes/campaign-use-case-templates-P01-1778839961622.json","e2e/test-results/crud/probes/campaign-use-case-templates-U01-1778839966477.json","e2e/test-results/crud/probes/campaign-use-case-templates-U02-1778839969230.json","e2e/test-results/crud/probes/community-tasks-C01-1778839976877.json","e2e/test-results/crud/probes/community-tasks-C02-1778839978977.json","e2e/test-results/crud/probes/community-tasks-D01-1778839999727.json","e2e/test-results/crud/probes/community-tasks-D02-1778840002221.json","e2e/test-results/crud/probes/community-tasks-E01-1778839992300.json","e2e/test-results/crud/probes/community-tasks-P01-1778839989804.json","e2e/test-results/crud/probes/community-tasks-U01-1778839994825.json","e2e/test-results/crud/probes/community-tasks-U02-1778839997371.json","e2e/test-results/crud/probes/customers-C01-1778840004277.json","e2e/test-results/crud/probes/customers-C02-1778840006174.json","e2e/test-results/crud/probes/customers-D01-1778840028720.json","e2e/test-results/crud/probes/customers-D02-1778840032953.json","e2e/test-results/crud/probes/customers-E01-1778840019258.json","e2e/test-results/crud/probes/customers-P01-1778840016802.json","e2e/test-results/crud/probes/customers-U01-1778840021857.json","e2e/test-results/crud/probes/customers-U02-1778840024544.json","e2e/test-results/crud/probes/payments-D01-1778840044821.json","e2e/test-results/crud/probes/payments-D02-1778840049762.json","e2e/test-results/crud/probes/payments-U01-1778840036925.json","e2e/test-results/crud/probes/payments-U02-1778840041518.json"],"modified":["backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.schema.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/process/process.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"3d7c44147a4145352342145e75f320d69a54c310","message":"Consolidate payment plan biz-code sequence sync\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3d7c44147a4145352342145e75f320d69a54c310","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T05:56:12-07:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/payment-plan.service.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts"]},{"id":"e4d506b7ee0e318fdc58032b537c6f24c21dd0b7","message":"Fix ContractDetailPage.initiateSignature signatory contract\n\n后端 /contracts/:id/initiate-sign 的 body 为 .strict(),仅接受\nmessage/expire_at,不接受 signatories(之前 Page Object 传 signatories\n且字段用 role/order 均非 contractSignatorySchema 合法键,导致 400\nUnrecognized key)。改为正确流程:逐个经 POST /:id/signatories 落库\n(name/phone 必填 + sign_order,snake_case),再以空 body 发起签署。\n\n隔离复跑验证:initiate-sign 的 \"Unrecognized key(s): signatories\" 400\n已消除,错误推进到业务状态机层(说明 payload 契约已正确)。\n\n注:contract-signing-flow 残余失败根因为该 spec 多角色高频 robustLogin\n触发后端账号锁定(已知测试基建债,需后端测试态放宽登录锁定单独处理),\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/e4d506b7ee0e318fdc58032b537c6f24c21dd0b7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T05:53:29-07:00","added":[],"removed":[],"modified":["e2e/pages/ContractDetailPage.ts"]}],"total_commits":0,"head_commit":{"id":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","message":"Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc\n\n# Conflicts:\n#\tfrontend/src/api/modules/course-marketplace.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e8e3ea6b39e0d7d48f888052ef823f11e2327271","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:23:04-07:00","added":["backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","frontend/src/api/modules/agent-sessions.ts","frontend/src/views/ai-agents/AgentSessions.vue"],"removed":[],"modified":["backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.schema.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process/process.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.routes.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/acquisition-center/acquisition-center.spec.ts","e2e/tests/admin-center/admin-center-crud-fixed.spec.ts","e2e/tests/admin-center/admin-center-crud.spec.ts","e2e/tests/ai-agents/ai-agents-employee.spec.ts","e2e/tests/all-domains-comprehensive.spec.ts","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/router/modules/ai-agents.ts","frontend/src/views/marketing-forms/Index.vue"]},"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":5335808,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02: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":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
|
4
|
1778853215
|
1778853277
|
0
|
1778853213
|
1778853277
|
|
|
0
|
Edit
Delete
|
|
23226
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
ci.yml
|
23144
|
5
|
0
|
refs/pull/4/head
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
pull_request_sync
|
{"action":"synchronized","numb {"action":"synchronized","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":1,"additions":22579,"deletions":4776,"changed_files":491,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":false,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","repo_id":6,"repo":{"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-15T21:53:33+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+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":[]},"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"},"commit_id":"","review":null}...
|
pull_request
|
3
|
8
|
1778853277
|
1778853554
|
0
|
1778853215
|
1778853554
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/pull/4/head
|
1
|
Edit
Delete
|
|
23227
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
migration-safety.yml
|
23145
|
5
|
0
|
refs/pull/4/head
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
pull_request_sync
|
{"action":"synchronized","numb {"action":"synchronized","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":1,"additions":22579,"deletions":4776,"changed_files":491,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":false,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","repo_id":6,"repo":{"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-15T21:53:33+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5371507,"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":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+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":[]},"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"},"commit_id":"","review":null}...
|
pull_request
|
2
|
4
|
1778853562
|
1778853620
|
0
|
1778853215
|
1778853620
|
|
|
0
|
Edit
Delete
|
|
23750
|
docs(video): record timeline4 release evidence and docs(video): record timeline4 release evidence and remaining platform scope...
|
57
|
5
|
governance.yml
|
121
|
5
|
0
|
refs/heads/main
|
e8c059aa0cf828e4922ec7fd58429272e2e93719
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"70fcc5c3d059656592fb2f434163184c84a4f5ea","after":"e8c059aa0cf828e4922ec7fd58429272e2e93719","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/70fcc5c3d059656592fb2f434163184c84a4f5ea...e8c059aa0cf828e4922ec7fd58429272e2e93719","commits":[{"id":"e8c059aa0cf828e4922ec7fd58429272e2e93719","message":"docs(video): record timeline4 release evidence and remaining platform scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e8c059aa0cf828e4922ec7fd58429272e2e93719","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:55:57-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]}],"total_commits":0,"head_commit":{"id":"e8c059aa0cf828e4922ec7fd58429272e2e93719","message":"docs(video): record timeline4 release evidence and remaining platform scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e8c059aa0cf828e4922ec7fd58429272e2e93719","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:55:57-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":748306,"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":7,"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-09T09:47:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788918963
|
1788919004
|
0
|
1788918962
|
1788919004
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23688
|
Merge branch 'main' into audit/grill-accep Merge branch 'main' into audit/grill-acceptance-20260908...
|
57
|
5
|
governance.yml
|
59
|
5
|
0
|
refs/heads/main
|
e831a73b46891ca7b86a44fa67605510f9272232
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c29d59318105847c5b0f0792d78bdb44ed012814","after":"e831a73b46891ca7b86a44fa67605510f9272232","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/c29d59318105847c5b0f0792d78bdb44ed012814...e831a73b46891ca7b86a44fa67605510f9272232","commits":[{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},{"id":"a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","message":"fix(acceptance): prevent repeated paid submissions and classify brand conflicts\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/governance/log/2026-09-08-grill-acceptance.md","reports/grill-acceptance-2026-09-08/README.md","reports/grill-acceptance-2026-09-08/verification.json","services/model-sidecar/test_hosted_submission.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/brand-profile-concurrency.integration.test.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/brand-profile-concurrency.integration.test.ts","apps/api-nestjs/test/creative-project.integration.test.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","services/model-sidecar/main.py","services/model-sidecar/test_async_recovery.py"]}],"total_commits":0,"head_commit":{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636709,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:19:15+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788878306
|
1788878336
|
0
|
1788878304
|
1788878336
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23426
|
feat: harden voiceprint deployment and profile wor feat: harden voiceprint deployment and profile workflow...
|
62
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
e795edf9d8130692c02ac8d6083ddbd41edcdc0c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76","after":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","compare_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/compare/64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76...e795edf9d8130692c02ac8d6083ddbd41edcdc0c","commits":[{"id":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","message":"feat: harden voiceprint deployment and profile workflow\n","url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/commit/e795edf9d8130692c02ac8d6083ddbd41edcdc0c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T20:24:11-07:00","added":["apps/api-fastify/src/lib/redis-connection.ts","apps/api-fastify/test/redis-connection.test.ts","apps/web/src/components/voiceprint/VoiceProfileCard.tsx","deploy/vm/Dockerfile.sidecar","deploy/vm/requirements-sidecar.txt","scripts/voiceprint-sidecar-ui-stub.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/voiceprint/sidecar-client.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/voiceprint.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/voiceprint.acceptance.test.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/voiceprint/sidecar.client.ts","apps/api-nestjs/src/voiceprint/voiceprint.controller.ts","apps/api-nestjs/src/voiceprint/voiceprint.module.ts","apps/api-nestjs/src/voiceprint/voiceprint.processor.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/voiceprint.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/voiceprint/AudioPicker.tsx","apps/web/src/components/voiceprint/EnrollPanel.tsx","apps/web/src/components/voiceprint/IdentifyPanel.tsx","apps/web/src/components/voiceprint/SpeakersPanel.tsx","deploy/vm/compose.yaml","deploy/vm/systemd/voiceprint-compose.service","docs/deployment-vm.md","docs/domain/voiceprint-blueprint.md","docs/karaoke-singer-personalized-dsp-system-design.md","docs/product-prd.md","packages/contracts/src/index.ts","packages/contracts/src/voiceprint.test.ts","packages/contracts/src/voiceprint.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/voiceprint-real-acceptance.latest.json","scripts/check-ui-acceptance.mjs","scripts/deploy-vm.sh","scripts/vm-status.sh","src/speaker_embedding/sidecar.py","src/speaker_embedding/speaker_db.py","tests/test_sidecar.py","tests/test_speaker_db.py"]}],"total_commits":0,"head_commit":{"id":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","message":"feat: harden voiceprint deployment and profile workflow\n","url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/commit/e795edf9d8130692c02ac8d6083ddbd41edcdc0c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T20:24:11-07:00","added":["apps/api-fastify/src/lib/redis-connection.ts","apps/api-fastify/test/redis-connection.test.ts","apps/web/src/components/voiceprint/VoiceProfileCard.tsx","deploy/vm/Dockerfile.sidecar","deploy/vm/requirements-sidecar.txt","scripts/voiceprint-sidecar-ui-stub.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/voiceprint/sidecar-client.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/voiceprint.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/voiceprint.acceptance.test.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/voiceprint/sidecar.client.ts","apps/api-nestjs/src/voiceprint/voiceprint.controller.ts","apps/api-nestjs/src/voiceprint/voiceprint.module.ts","apps/api-nestjs/src/voiceprint/voiceprint.processor.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/voiceprint.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/voiceprint/AudioPicker.tsx","apps/web/src/components/voiceprint/EnrollPanel.tsx","apps/web/src/components/voiceprint/IdentifyPanel.tsx","apps/web/src/components/voiceprint/SpeakersPanel.tsx","deploy/vm/compose.yaml","deploy/vm/systemd/voiceprint-compose.service","docs/deployment-vm.md","docs/domain/voiceprint-blueprint.md","docs/karaoke-singer-personalized-dsp-system-design.md","docs/product-prd.md","packages/contracts/src/index.ts","packages/contracts/src/voiceprint.test.ts","packages/contracts/src/voiceprint.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/voiceprint-real-acceptance.latest.json","scripts/check-ui-acceptance.mjs","scripts/deploy-vm.sh","scripts/vm-status.sh","src/speaker_embedding/sidecar.py","src/speaker_embedding/speaker_db.py","tests/test_sidecar.py","tests/test_speaker_db.py"]},"repository":{"id":62,"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":"voiceprint-recognition","full_name":"luoanwu/voiceprint-recognition","description":"ECAPA+WavLM 声纹注册识别、1:N ANN 检索与声音特征画像平台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":747,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voiceprint-recognition/languages","html_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voiceprint-recognition","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/voiceprint-recognition.git","clone_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition.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-07-15T08:42:42+08:00","updated_at":"2026-07-15T09:11: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
|
8
|
1784085875
|
1784085931
|
0
|
1784085873
|
1784085931
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23514
|
feat(studio): connect script storyboard and video feat(studio): connect script storyboard and video workflow...
|
57
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
e759f5e4509e93cc4968259cc6d6a64bc73c09f1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eb6483fa7aadc8d2d4e715274c2519f67005e135","after":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/eb6483fa7aadc8d2d4e715274c2519f67005e135...e759f5e4509e93cc4968259cc6d6a64bc73c09f1","commits":[{"id":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","message":"feat(studio): connect script storyboard and video workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e759f5e4509e93cc4968259cc6d6a64bc73c09f1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:26:47-07:00","added":["apps/web/src/components/material-factory/PipelineFlow.tsx","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","packages/contracts/src/index.ts","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/storyboard.test.ts","packages/contracts/src/storyboard.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","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/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-naming.mjs","services/model-sidecar/main.py"]},{"id":"553239d8af8a5f7a56988fa913deaecd5f154121","message":"feat(studio): complete live Bailian production workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/553239d8af8a5f7a56988fa913deaecd5f154121","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T19:25:55-07:00","added":["apps/api-fastify/prisma/migrations/20260823220000_script_scenario_modes/migration.sql","apps/api-fastify/prisma/migrations/20260823230000_storyboard_video/migration.sql","apps/api-nestjs/prisma/migrations/20260823220000_script_scenario_modes/migration.sql","apps/api-nestjs/prisma/migrations/20260823230000_storyboard_video/migration.sql","apps/web/src/components/material-factory/VideoStudio.tsx","packages/contracts/src/script-scenario.test.ts","packages/contracts/src/script-sidecar.test.ts","packages/contracts/src/storyboard-video.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/material-factory/BlockedResolutionPanel.tsx","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/DemoExportModal.tsx","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/ExportModal.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/InstanceGallery.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/components/material-factory/MasterCanvas.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ModelOperationsDashboard.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StillVersionBar.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/ui.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/store/useFactoryStore.ts","packages/contracts/src/material.ts","packages/contracts/src/production.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","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/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-script-acceptance.mjs","services/model-sidecar/main.py"]},{"id":"69d9525d1e38cdb9da1db02f2e25411d2bd4b891","message":"feat(models): route image generation through Bailian Wan 2.7 Pro\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/69d9525d1e38cdb9da1db02f2e25411d2bd4b891","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T17:25:44-07:00","added":[".github/workflows/governance.yml","docs/domain/module-boundary.md","reports/module-boundary.latest.json","scripts/check-module-boundary.mjs"],"removed":[],"modified":[".github/pull_request_template.md","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/api-nestjs/test/material-production-worker.integration.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/eslint.config.mjs","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","deploy/vm/.env.example","deploy/vm/docker-compose.yml","docs/product/controlled-ai-material-factory.md","package.json","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.test.ts","packages/contracts/src/material.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","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/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/README.md","services/model-sidecar/main.py"]},{"id":"1bc728c529ae21297108ec097f939ce72e77c3c5","message":"feat(storyboard): persist immutable project history\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1bc728c529ae21297108ec097f939ce72e77c3c5","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T11:49:04-07:00","added":["apps/api-fastify/prisma/migrations/20260823212000_add_storyboard_version_snapshots/migration.sql","apps/api-nestjs/prisma/migrations/20260823212000_add_storyboard_version_snapshots/migration.sql"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/next.config.ts","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","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/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},{"id":"753d41978517db6031c10afef2a9a1897f6f7481","message":"fix(models): restore OCR inference and reject LFS pointers\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/753d41978517db6031c10afef2a9a1897f6f7481","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T11:35:43-07:00","added":[],"removed":[],"modified":["CLAUDE.md","models/material-factory/manifest.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-models.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/download-material-models.mjs"]}],"total_commits":0,"head_commit":{"id":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","message":"feat(studio): connect script storyboard and video workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e759f5e4509e93cc4968259cc6d6a64bc73c09f1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:26:47-07:00","added":["apps/web/src/components/material-factory/PipelineFlow.tsx","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","packages/contracts/src/index.ts","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/storyboard.test.ts","packages/contracts/src/storyboard.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","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/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-naming.mjs","services/model-sidecar/main.py"]},"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":8098,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-08-18T16:58: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
|
1787560925
|
1787561016
|
0
|
1787560925
|
1787561016
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23404
|
feat: initialize SiteScout workspace
|
56
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
e65fc3036083a4118e0c909bd6a58914e6b33fef
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"e65fc3036083a4118e0c909bd6a58914e6b33fef","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"e65fc3036083a4118e0c909bd6a58914e6b33fef","message":"feat: initialize SiteScout workspace\n","url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection/commit/e65fc3036083a4118e0c909bd6a58914e6b33fef","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:31:18-07:00","added":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/sites/sites.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sites.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/sites.integration.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sites/sites.controller.ts","apps/api-nestjs/src/sites/sites.module.ts","apps/api-nestjs/src/sites/sites.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/sites.integration.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/public/fonts/sitescout/Inter-400-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-400-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-400-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-400-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-400-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-400-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-400-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-500-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-500-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-500-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-500-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-500-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-500-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-500-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-600-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-600-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-600-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-600-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-600-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-600-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-600-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-700-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-700-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-700-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-700-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-700-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-700-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-700-1F00-89268580.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0460-c34028be.woff2","apps/web/src/app/console/page.tsx","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/sitescout/AcceptanceCenter.tsx","apps/web/src/components/sitescout/CityMap.tsx","apps/web/src/components/sitescout/CompareModal.tsx","apps/web/src/components/sitescout/CompetitorSection.tsx","apps/web/src/components/sitescout/ComplianceSection.tsx","apps/web/src/components/sitescout/ScoreSection.tsx","apps/web/src/components/sitescout/SiteScoutApp.tsx","apps/web/src/components/sitescout/StakeoutSection.tsx","apps/web/src/components/sitescout/TierSection.tsx","apps/web/src/components/sitescout/sitescout.css","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/sitescout-labels.ts","apps/web/src/lib/sitescout-types.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/base-framework-migration.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/site-selection-blueprint.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/site-fixtures.ts","packages/contracts/src/site.test.ts","packages/contracts/src/site.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"e65fc3036083a4118e0c909bd6a58914e6b33fef","message":"feat: initialize SiteScout workspace\n","url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection/commit/e65fc3036083a4118e0c909bd6a58914e6b33fef","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:31:18-07:00","added":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/sites/sites.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sites.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/sites.integration.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sites/sites.controller.ts","apps/api-nestjs/src/sites/sites.module.ts","apps/api-nestjs/src/sites/sites.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/sites.integration.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/public/fonts/sitescout/Inter-400-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-400-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-400-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-400-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-400-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-400-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-400-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-500-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-500-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-500-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-500-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-500-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-500-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-500-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-600-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-600-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-600-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-600-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-600-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-600-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-600-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-700-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-700-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-700-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-700-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-700-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-700-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-700-1F00-89268580.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0460-c34028be.woff2","apps/web/src/app/console/page.tsx","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/sitescout/AcceptanceCenter.tsx","apps/web/src/components/sitescout/CityMap.tsx","apps/web/src/components/sitescout/CompareModal.tsx","apps/web/src/components/sitescout/CompetitorSection.tsx","apps/web/src/components/sitescout/ComplianceSection.tsx","apps/web/src/components/sitescout/ScoreSection.tsx","apps/web/src/components/sitescout/SiteScoutApp.tsx","apps/web/src/components/sitescout/StakeoutSection.tsx","apps/web/src/components/sitescout/TierSection.tsx","apps/web/src/components/sitescout/sitescout.css","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/sitescout-labels.ts","apps/web/src/lib/sitescout-types.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/base-framework-migration.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/site-selection-blueprint.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/site-fixtures.ts","packages/contracts/src/site.test.ts","packages/contracts/src/site.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]},"repository":{"id":56,"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":"hidian-site-selection","full_name":"luoanwu/hidian-site-selection","description":"嗨点选址 / SiteScout monorepo","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/hidian-site-selection/languages","html_url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/hidian-site-selection","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/hidian-site-selection.git","clone_url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection.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-07-06T16:32:39+08:00","updated_at":"2026-07-06T16:33: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
|
2
|
8
|
1783326795
|
1783326922
|
0
|
1783326783
|
1783326922
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23508
|
docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 3235586 docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)...
|
76
|
5
|
governance.yml
|
9
|
5
|
0
|
refs/heads/main
|
e4b6a5e4925ba1a7234be9035af63c53fd77b945
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5e0044558f1104cbbaefb759bd0d70c3a5049418","after":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/5e0044558f1104cbbaefb759bd0d70c3a5049418...e4b6a5e4925ba1a7234be9035af63c53fd77b945","commits":[{"id":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","message":"docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)\n\n5e00445 已对齐 GitHub/Gitea 双远端;static + runtime/UI 两 job 干净 checkout 全绿\n(368 tests 地板硬校验 + 13 Playwright 用例,含技能目录治理与响应式用例)。\nG14 收尾项不变:branch protection / required checks 与受控失败 PR 拦截证据仍缺。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e4b6a5e4925ba1a7234be9035af63c53fd77b945","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T03:03:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","message":"docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)\n\n5e00445 已对齐 GitHub/Gitea 双远端;static + runtime/UI 两 job 干净 checkout 全绿\n(368 tests 地板硬校验 + 13 Playwright 用例,含技能目录治理与响应式用例)。\nG14 收尾项不变:branch protection / required checks 与受控失败 PR 拦截证据仍缺。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e4b6a5e4925ba1a7234be9035af63c53fd77b945","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T03:03:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1550,"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":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-08-20T14:46:28+08:00","updated_at":"2026-08-20T17:50:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1787220188
|
1787220255
|
0
|
1787220188
|
1787220255
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23722
|
fix(trends): allow vertical scrolling in the fixed fix(trends): allow vertical scrolling in the fixed workspace...
|
57
|
5
|
governance.yml
|
93
|
5
|
0
|
refs/heads/main
|
e47221e4088fcbd22b6581846a9bfc8db5428256
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3338f1f47fc3a3579811531c9f75120b9bff50f7","after":"e47221e4088fcbd22b6581846a9bfc8db5428256","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/3338f1f47fc3a3579811531c9f75120b9bff50f7...e47221e4088fcbd22b6581846a9bfc8db5428256","commits":[{"id":"e47221e4088fcbd22b6581846a9bfc8db5428256","message":"fix(trends): allow vertical scrolling in the fixed workspace\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e47221e4088fcbd22b6581846a9bfc8db5428256","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:49:34-07:00","added":["docs/governance/log/2026-09-08-industry-trends-scroll.md","reports/industry-trends-scroll-2026-09-08/README.md","reports/industry-trends-scroll-2026-09-08/validation.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/factory-shell.module.css","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e47221e4088fcbd22b6581846a9bfc8db5428256","message":"fix(trends): allow vertical scrolling in the fixed workspace\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e47221e4088fcbd22b6581846a9bfc8db5428256","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:49:34-07:00","added":["docs/governance/log/2026-09-08-industry-trends-scroll.md","reports/industry-trends-scroll-2026-09-08/README.md","reports/industry-trends-scroll-2026-09-08/validation.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/factory-shell.module.css","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"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":674613,"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":7,"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-09T02:37: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
|
1788893431
|
1788893470
|
0
|
1788893431
|
1788893470
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23546
|
chore(governance): refresh gate reports after CI p chore(governance): refresh gate reports after CI provisioning...
|
91
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
e465f302d62150997d35782bfec2304043dd605d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e20004f4776df6413cdfa4d0b49afdd9bea5b69e","after":"e465f302d62150997d35782bfec2304043dd605d","compare_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/compare/e20004f4776df6413cdfa4d0b49afdd9bea5b69e...e465f302d62150997d35782bfec2304043dd605d","commits":[{"id":"e465f302d62150997d35782bfec2304043dd605d","message":"chore(governance): refresh gate reports after CI provisioning\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/e465f302d62150997d35782bfec2304043dd605d","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-29T18:45:26-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"19e459216a9fd617ba77d9ae5242218d511bff0e","message":"feat(ci): provision Digital Employee OS source for check:os-product\n\nCI 的 os-product 门禁曾必然 fail-closed(runner 上无 OS 源码,G14 同族)。\n按拍板方案「提供 OS 源码」落地:\n\n- static-governance job 按 SHA 钉版(fcbd389,与本地验收口径一致)克隆\n 同实例私有仓 luoanwu/digital-employee-os 到 RUNNER_TEMP(工作区外,\n 防 naming/治理扫描误扫),frozen install + 构建 contracts 后跑 pnpm check\n- token 走 secrets.OS_CHECKOUT_TOKEN(GITEA_TOKEN 兜底)\n- 两 job Node 20→22(OS engines \u003e=22 与本仓 \u003e=20 取并集)\n\n冷启动配方已本地彩排(SHA 直取/安装/构建/check:os-product 绿),\n钉版负向已验(错 SHA → O0-SHA 红)。CI 首绿仍需仓库侧配置\nOS_CHECKOUT_TOKEN secret 与可用 runner。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/19e459216a9fd617ba77d9ae5242218d511bff0e","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-29T18:45:03-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"e465f302d62150997d35782bfec2304043dd605d","message":"chore(governance): refresh gate reports after CI provisioning\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/e465f302d62150997d35782bfec2304043dd605d","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-29T18:45:26-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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":91,"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":"qwen3-8-flash-next","full_name":"luoanwu/qwen3-8-flash-next","description":"Qwen3.8-Flash-Next 本地部署与多模态 Chat/RAG 工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2955,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next/languages","html_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/qwen3-8-flash-next.git","clone_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next.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-30T09:20:06+08:00","updated_at":"2026-08-30T09:35:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788054332
|
1788054370
|
0
|
1788054330
|
1788054372
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23434
|
fix: 工作台展示与激活解耦修复播放闪烁;移除引擎标识显示
|
63
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
e35b3d57744e6178a7c3fdeae0aab051c6f2408f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b55d1eece101ec72f25af96f62713da05ae06ff","after":"e35b3d57744e6178a7c3fdeae0aab051c6f2408f","compare_url":"https://gitea.g-hi.com/luoanwu/forced-alignment/compare/1b55d1eece101ec72f25af96f62713da05ae06ff...e35b3d57744e6178a7c3fdeae0aab051c6f2408f","commits":[{"id":"e35b3d57744e6178a7c3fdeae0aab051c6f2408f","message":"fix: 工作台展示与激活解耦修复播放闪烁;移除引擎标识显示\n\n- 闪烁根因:激活与展示耦合在叶子字区间判定,播放穿过字间空洞时\n 三句上下文/字级轨道/KTV/检查器整块逐帧卸载重挂\n- 修法:展示层改句包络定位当前句;激活层仍只认叶子字区间\n (空洞内零字扫色、data-lyric-active=false,蓝图不变量保持),\n 句间空档三层空态不变(e2e 无词隔离用例语义原样)\n- 波形画布改 layout-effect 与播头同帧提交,仅尺寸变化时重设像素\n- 头部「Qwen3 FA · 80ms grid」与错误兜底文案中的引擎标识不再显示\n (engine/runtimeContract 数据层保留,审计不受影响)\n- 证据:typecheck 绿;check:ui 7/7(2026-07-21 实跑);\n 真实空洞点实测(句内 52.40s 整行保持、句间 63.88s 三层空态)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/e35b3d57744e6178a7c3fdeae0aab051c6f2408f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T20:43:46-07:00","added":[],"removed":[],"modified":["apps/web/src/features/alignment/api/alignment.ts","apps/web/src/features/alignment/components/AlignmentWorkbench.tsx","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e35b3d57744e6178a7c3fdeae0aab051c6f2408f","message":"fix: 工作台展示与激活解耦修复播放闪烁;移除引擎标识显示\n\n- 闪烁根因:激活与展示耦合在叶子字区间判定,播放穿过字间空洞时\n 三句上下文/字级轨道/KTV/检查器整块逐帧卸载重挂\n- 修法:展示层改句包络定位当前句;激活层仍只认叶子字区间\n (空洞内零字扫色、data-lyric-active=false,蓝图不变量保持),\n 句间空档三层空态不变(e2e 无词隔离用例语义原样)\n- 波形画布改 layout-effect 与播头同帧提交,仅尺寸变化时重设像素\n- 头部「Qwen3 FA · 80ms grid」与错误兜底文案中的引擎标识不再显示\n (engine/runtimeContract 数据层保留,审计不受影响)\n- 证据:typecheck 绿;check:ui 7/7(2026-07-21 实跑);\n 真实空洞点实测(句内 52.40s 整行保持、句间 63.88s 三层空态)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/e35b3d57744e6178a7c3fdeae0aab051c6f2408f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T20:43:46-07:00","added":[],"removed":[],"modified":["apps/web/src/features/alignment/api/alignment.ts","apps/web/src/features/alignment/components/AlignmentWorkbench.tsx","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":63,"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":"forced-alignment","full_name":"luoanwu/forced-alignment","description":"纯人声与歌词精准强制对齐工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":29611,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment/languages","html_url":"https://gitea.g-hi.com/luoanwu/forced-alignment","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/forced-alignment.git","clone_url":"https://gitea.g-hi.com/luoanwu/forced-alignment.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-07-22T08:56:49+08:00","updated_at":"2026-07-22T10:55:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1784691828
|
1784691919
|
0
|
1784691828
|
1784691920
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23545
|
chore(governance): refresh doc gate reports on cle chore(governance): refresh doc gate reports on clean tree...
|
91
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
e20004f4776df6413cdfa4d0b49afdd9bea5b69e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3ace3ff6a846bd8e245bbeb090fd28d683945735","after":"e20004f4776df6413cdfa4d0b49afdd9bea5b69e","compare_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/compare/3ace3ff6a846bd8e245bbeb090fd28d683945735...e20004f4776df6413cdfa4d0b49afdd9bea5b69e","commits":[{"id":"e20004f4776df6413cdfa4d0b49afdd9bea5b69e","message":"chore(governance): refresh doc gate reports on clean tree\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/e20004f4776df6413cdfa4d0b49afdd9bea5b69e","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-29T18:34:18-07:00","added":[],"removed":[],"modified":["reports/docs-truth.latest.json","reports/governance-docs.latest.json"]},{"id":"2c7e739738f706c97e1a03cbb97b227422935b43","message":"docs(governance): record remote publication of 3ace3ff\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/2c7e739738f706c97e1a03cbb97b227422935b43","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-29T18:34:02-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"e20004f4776df6413cdfa4d0b49afdd9bea5b69e","message":"chore(governance): refresh doc gate reports on clean tree\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/e20004f4776df6413cdfa4d0b49afdd9bea5b69e","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-29T18:34:18-07:00","added":[],"removed":[],"modified":["reports/docs-truth.latest.json","reports/governance-docs.latest.json"]},"repository":{"id":91,"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":"qwen3-8-flash-next","full_name":"luoanwu/qwen3-8-flash-next","description":"Qwen3.8-Flash-Next 本地部署与多模态 Chat/RAG 工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2932,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next/languages","html_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/qwen3-8-flash-next.git","clone_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next.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-30T09:20:06+08:00","updated_at":"2026-08-30T09:33:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788053742
|
1788053762
|
0
|
1788053741
|
1788053762
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23503
|
fix(ci): 验收 runner 前置 contracts 构建——干净 checkout 下 fix(ci): 验收 runner 前置 contracts 构建——干净 checkout 下 dist 不存在导致全量解析崩...
|
76
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
e17e315f20a61059ab3b48375897c5f5b6213bdc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"859edc397ed56d09cf7d370f11c40bc727ca62ea","after":"e17e315f20a61059ab3b48375897c5f5b6213bdc","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/859edc397ed56d09cf7d370f11c40bc727ca62ea...e17e315f20a61059ab3b48375897c5f5b6213bdc","commits":[{"id":"e17e315f20a61059ab3b48375897c5f5b6213bdc","message":"fix(ci): 验收 runner 前置 contracts 构建——干净 checkout 下 dist 不存在导致全量解析崩\n\nCI run 32341789171 判责:runtime job 从不 build contracts,vite 解析\n@repo/contracts 入口失败,NestJS 20 个测试文件加载即灭(本地永不复现,\n因 dist 常年存在——干净 worktree 复现实锤)。\n\n- check:runtime / check:ui 首步 contracts-build + dist/index.js 存在性断言\n- contracts build 改 tsc -b --force(composite 已就位)\n- 干净房验证:859edc3 + 本修复 → check:runtime 354/354 全绿\n (/tmp worktree + 全新 install + 专属 PG/Redis)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e17e315f20a61059ab3b48375897c5f5b6213bdc","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T00:18:07-07:00","added":[],"removed":[],"modified":["packages/contracts/package.json","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"e17e315f20a61059ab3b48375897c5f5b6213bdc","message":"fix(ci): 验收 runner 前置 contracts 构建——干净 checkout 下 dist 不存在导致全量解析崩\n\nCI run 32341789171 判责:runtime job 从不 build contracts,vite 解析\n@repo/contracts 入口失败,NestJS 20 个测试文件加载即灭(本地永不复现,\n因 dist 常年存在——干净 worktree 复现实锤)。\n\n- check:runtime / check:ui 首步 contracts-build + dist/index.js 存在性断言\n- contracts build 改 tsc -b --force(composite 已就位)\n- 干净房验证:859edc3 + 本修复 → check:runtime 354/354 全绿\n (/tmp worktree + 全新 install + 专属 PG/Redis)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e17e315f20a61059ab3b48375897c5f5b6213bdc","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T00:18:07-07:00","added":[],"removed":[],"modified":["packages/contracts/package.json","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.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":1110,"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":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-08-20T14:46:28+08:00","updated_at":"2026-08-20T14:57: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
|
2
|
8
|
1787210290
|
1787210353
|
0
|
1787210290
|
1787210353
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23449
|
docs(governance): record verified publish baseline
|
54
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
e109e80574304306c9a5911d5e923d2dc7e6c0f4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8","after":"e109e80574304306c9a5911d5e923d2dc7e6c0f4","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/4e0ae0a55bf748faaa3a1f2b937b4375c1cf7fa8...e109e80574304306c9a5911d5e923d2dc7e6c0f4","commits":[{"id":"e109e80574304306c9a5911d5e923d2dc7e6c0f4","message":"docs(governance): record verified publish baseline\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/e109e80574304306c9a5911d5e923d2dc7e6c0f4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:27:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e109e80574304306c9a5911d5e923d2dc7e6c0f4","message":"docs(governance): record verified publish baseline\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/e109e80574304306c9a5911d5e923d2dc7e6c0f4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:27:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},"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":861,"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":1,"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-07-22T16:26: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
|
1784709216
|
1784709270
|
0
|
1784709216
|
1784709270
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23720
|
docs(release): record verified storyboard video re docs(release): record verified storyboard video regeneration deployment...
|
57
|
5
|
governance.yml
|
91
|
5
|
0
|
refs/heads/main
|
df0737c36336ba0058da7486c943e56fbe7e4b26
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d644831535615b63a052ee56d2cb0287cb3ee632","after":"df0737c36336ba0058da7486c943e56fbe7e4b26","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/d644831535615b63a052ee56d2cb0287cb3ee632...df0737c36336ba0058da7486c943e56fbe7e4b26","commits":[{"id":"df0737c36336ba0058da7486c943e56fbe7e4b26","message":"docs(release): record verified storyboard video regeneration deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/df0737c36336ba0058da7486c943e56fbe7e4b26","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:35:30-07:00","added":["docs/releases/2026-09-08-video-regen1.md","reports/video-regenerate-2026-09-08/backup-verification.json","reports/video-regenerate-2026-09-08/browser-verification.json","reports/video-regenerate-2026-09-08/deployed-verify.json","reports/video-regenerate-2026-09-08/deployment.json","reports/video-regenerate-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-video-regenerate.md","docs/releases/current.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json","reports/video-regenerate-2026-09-08/README.md"]}],"total_commits":0,"head_commit":{"id":"df0737c36336ba0058da7486c943e56fbe7e4b26","message":"docs(release): record verified storyboard video regeneration deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/df0737c36336ba0058da7486c943e56fbe7e4b26","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:35:30-07:00","added":["docs/releases/2026-09-08-video-regen1.md","reports/video-regenerate-2026-09-08/backup-verification.json","reports/video-regenerate-2026-09-08/browser-verification.json","reports/video-regenerate-2026-09-08/deployed-verify.json","reports/video-regenerate-2026-09-08/deployment.json","reports/video-regenerate-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-video-regenerate.md","docs/releases/current.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json","reports/video-regenerate-2026-09-08/README.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":674532,"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":7,"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-09T02:30: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
|
3
|
3
|
0
|
1788892662
|
0
|
1788892539
|
1788892662
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23813
|
test: verify the content brief default candidates test: verify the content brief default candidates round...
|
57
|
5
|
governance.yml
|
180
|
5
|
0
|
refs/heads/main
|
dddfe03474a30345361b3509f30a0843724ffb47
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","after":"dddfe03474a30345361b3509f30a0843724ffb47","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/eb9f043fa4c56dae0d634c3b9de9b7de82514b24...dddfe03474a30345361b3509f30a0843724ffb47","commits":[{"id":"dddfe03474a30345361b3509f30a0843724ffb47","message":"test: verify the content brief default candidates round\n\nSeven heavy gates plus pnpm check pass on the isolated stack at source\nfingerprint 7b85b506; CLAUDE.md heavy rows re-marked accordingly.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dddfe03474a30345361b3509f30a0843724ffb47","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:54:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-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/director-workbench.mobile.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-creation-390.png","reports/image-creation-768.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-mobile-form.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/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.first.png","reports/storyboard-frame-dialog.mobile.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1280.png","reports/template-making.1440.png","reports/template-making.390.png","reports/template-making.768.png","reports/template-preview.edit.png","reports/template-preview.templates.png","reports/template-save-ready.APPLICATION.png","reports/template-save-ready.GENERAL.png","reports/template-save-ready.SCENE.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-types.desktop.png","reports/template-types.mobile.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":"24566351feb01ed76b5a7a2a136acadceabb4397","message":"feat(content): propose brief default candidates after the purpose is chosen\n\nSelecting a creation purpose now submits one BRIEF content task (debounced,\nbrand required, existing idempotency/receipt chain). Both backends parse the\nmodel's JSON object through the shared contentBriefSuggestionSchema: only the\neleven proposable fields survive, enum-invalid values, blanks and fact fields\n(purpose, lockedFacts, references, music) are dropped, and an unusable answer\nis a 422. The candidate dialog lists current vs proposed per field; empty or\ndefault fields are pre-ticked and only ticked fields are written into a new\n\"采用简报候选\" revision.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/24566351feb01ed76b5a7a2a136acadceabb4397","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:54:41-07:00","added":["docs/governance/log/2026-09-09-content-brief-candidates.md","reports/content-brief-candidates-2026-09-09/README.md"],"removed":[],"modified":["apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-nestjs/src/creative-project/content.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","packages/contracts/src/content.test.ts","packages/contracts/src/content.ts"]}],"total_commits":0,"head_commit":{"id":"dddfe03474a30345361b3509f30a0843724ffb47","message":"test: verify the content brief default candidates round\n\nSeven heavy gates plus pnpm check pass on the isolated stack at source\nfingerprint 7b85b506; CLAUDE.md heavy rows re-marked accordingly.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dddfe03474a30345361b3509f30a0843724ffb47","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:54:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-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/director-workbench.mobile.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-creation-390.png","reports/image-creation-768.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-mobile-form.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/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.first.png","reports/storyboard-frame-dialog.mobile.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1280.png","reports/template-making.1440.png","reports/template-making.390.png","reports/template-making.768.png","reports/template-preview.edit.png","reports/template-preview.templates.png","reports/template-save-ready.APPLICATION.png","reports/template-save-ready.GENERAL.png","reports/template-save-ready.SCENE.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-types.desktop.png","reports/template-types.mobile.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":827670,"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-10T09:32: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
|
1789008925
|
1789008967
|
0
|
1789008924
|
1789008967
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23542
|
docs: 修正基线表用例计数(156)并说明地板归属
|
90
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
dcd85b10ac06ae862fe3789b6bd548838487b8fe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","message":"docs: 修正基线表用例计数(156)并说明地板归属\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/dcd85b10ac06ae862fe3789b6bd548838487b8fe","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:07:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},{"id":"3de844a88e3c87510517038d98edbb9eeeb6ff30","message":"chore: 收口独立项目启动预检与治理基线\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/3de844a88e3c87510517038d98edbb9eeeb6ff30","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:04:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/preflight.py","scripts/start.sh"]},{"id":"11cf6a57829c8ce0ff3ccc8dd683d07e5b65b298","message":"feat: 增加 MiniMax H3 一键启动入口\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/11cf6a57829c8ce0ff3ccc8dd683d07e5b65b298","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:03:23-07:00","added":["scripts/lib/h3-runtime.sh","scripts/start.sh","start.command"],"removed":[],"modified":["README.md","package.json","scripts/bootstrap.sh"]},{"id":"86a8d3115337fa79d9a3ce48e2dfa51dd07ad44f","message":"feat: 完善 MiniMax H3 独立项目治理与验收\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/86a8d3115337fa79d9a3ce48e2dfa51dd07ad44f","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:02:59-07:00","added":["apps/web/src/app/framework/page.tsx","docs/domain/h3-studio-blueprint.md"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/domain-glossary.md","docs/domain/owner-matrix.md"]},{"id":"1337ab5545eee3d0e41f950d4a4617ea325ab916","message":"chore: 初始化 minimax-h3-studio 派生仓(框架迁移 + H3 工作台 + 治理收口)\n\n- 基础框架 bootstrap 迁移产物(源 base-framework@5399109)+ MiniMax H3 生成工作台\n- H3 修复:生成/下载服务端双向互斥锁、任务 id 校验、PID 复用识别、\n Range 视频流、任务删除、采样 ETA、MPS 回退单源、h3 契约测试\n- 治理收口:清除 chat 幽灵空目录、移除源仓 OS 产品载荷(kernel.products.json 空载 +\n os-product 门禁空载分支,负向已验证)、README 对齐文档真相\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/1337ab5545eee3d0e41f950d4a4617ea325ab916","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T06:51:24-07:00","added":[".agents/skills/derived-project-framework-sync/SKILL.md",".agents/skills/derived-project-framework-sync/assets/framework-migration.template.md",".agents/skills/derived-project-framework-sync/references/experience-catalog.md",".agents/skills/derived-project-framework-sync/references/migration-protocol.md",".agents/skills/derived-project-framework-sync/scripts/plan-migration.mjs",".agents/skills/derived-project-framework-sync/scripts/record-migration.mjs",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".env.example",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore",".venv","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/api/h3/generate/route.ts","apps/web/src/app/api/h3/jobs/[id]/artifact/route.ts","apps/web/src/app/api/h3/jobs/[id]/cancel/route.ts","apps/web/src/app/api/h3/jobs/[id]/log/route.ts","apps/web/src/app/api/h3/jobs/[id]/route.ts","apps/web/src/app/api/h3/jobs/route.ts","apps/web/src/app/api/h3/model/cancel/route.ts","apps/web/src/app/api/h3/model/log/route.ts","apps/web/src/app/api/h3/model/route.ts","apps/web/src/app/api/h3/status/route.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/h3/api/h3-api.ts","apps/web/src/features/h3/components/H3Workspace.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/h3-environment.ts","apps/web/src/lib/h3-jobs.ts","apps/web/src/lib/h3-lock.ts","apps/web/src/lib/h3-model-manager.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/os-product-extension.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","generate.py","governance.registry.json","governance.registry.schema.json","kernel.products.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/h3.test.ts","packages/contracts/src/h3.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","packages/contracts/tsconfig.tsbuildinfo","pnpm-lock.yaml","pnpm-workspace.yaml","reports/design-audit/01-current-studio.png","reports/design-audit/02-optimized-studio.png","reports/design-audit/03-final-studio.png","requirements.txt","scripts/bootstrap.sh","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","scripts/preflight.py","scripts/prepare_model.py","scripts/run.sh","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","message":"docs: 修正基线表用例计数(156)并说明地板归属\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/dcd85b10ac06ae862fe3789b6bd548838487b8fe","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:07:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":90,"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":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.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-30T09:07:20+08:00","updated_at":"2026-08-30T09:10: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
|
6
|
1788052201
|
1788052223
|
0
|
1788052201
|
1788052224
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23821
|
test: verify the default scene descriptions round
|
57
|
5
|
governance.yml
|
187
|
5
|
0
|
refs/heads/main
|
dcc386002801b96fd48bb5a2c7743dc84c3e80e2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c3bf82bd2b356a92ff6f2ea88c9b46d8367b573","after":"dcc386002801b96fd48bb5a2c7743dc84c3e80e2","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/8c3bf82bd2b356a92ff6f2ea88c9b46d8367b573...dcc386002801b96fd48bb5a2c7743dc84c3e80e2","commits":[{"id":"dcc386002801b96fd48bb5a2c7743dc84c3e80e2","message":"test: verify the default scene descriptions round\n\nSeven isolated gates and pnpm check pass at sha256:306ca1a3…; evidence in reports/illustration-default-descriptions-2026-09-10 and acceptance-artifacts/illustration-default-descriptions-2026-09-10.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dcc386002801b96fd48bb5a2c7743dc84c3e80e2","author":{"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:52:09-07:00","added":["reports/content-detail.description-candidates-desktop.png","reports/illustration-default-descriptions-2026-09-10/README.md"],"removed":[],"modified":["CLAUDE.md","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/content-detail.review-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-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1440.png","reports/template-preview.templates.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/ui-acceptance.mobile.png","reports/ui-acceptance.production.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":"d945e304e4d8c94f481cbffae037bdb87172fe23","message":"feat(content): propose default scene descriptions for every slot when the plan step opens\n\nEntering 配图方案 from 文案就绪 submits one IMAGE_DESCRIPTIONS content task for all saved slots (once per version, only while a slot still lacks a description); the model returns a JSON object keyed by slot id, parsed leniently and only for known slots, and the candidate dialog pre-ticks slots without a user decision. Removes act.isPending from the automatic BRIEF/description guards: inside the mutation it already reads true and silently skipped the request in a real browser. UI gate gains a local chat-completions fixture and covers both automatic paths.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d945e304e4d8c94f481cbffae037bdb87172fe23","author":{"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:28:44-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-nestjs/src/creative-project/content.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/governance/log/2026-09-10-illustration-brief-candidates.md","docs/product/content-creation-workbench.md","packages/contracts/src/content.test.ts","packages/contracts/src/content.ts","scripts/check-ui-acceptance.mjs","scripts/lib/content-ui-acceptance.mjs","scripts/lib/storyboard-ui-fixture.mjs"]}],"total_commits":0,"head_commit":{"id":"dcc386002801b96fd48bb5a2c7743dc84c3e80e2","message":"test: verify the default scene descriptions round\n\nSeven isolated gates and pnpm check pass at sha256:306ca1a3…; evidence in reports/illustration-default-descriptions-2026-09-10 and acceptance-artifacts/illustration-default-descriptions-2026-09-10.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dcc386002801b96fd48bb5a2c7743dc84c3e80e2","author":{"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:52:09-07:00","added":["reports/content-detail.description-candidates-desktop.png","reports/illustration-default-descriptions-2026-09-10/README.md"],"removed":[],"modified":["CLAUDE.md","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/content-detail.review-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-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1440.png","reports/template-preview.templates.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/ui-acceptance.mobile.png","reports/ui-acceptance.production.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":793012,"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:50:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789016249
|
1789016339
|
0
|
1789016248
|
1789016339
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23715
|
merge: preserve current main with verified video p merge: preserve current main with verified video pause evidence...
|
57
|
5
|
governance.yml
|
86
|
5
|
0
|
refs/heads/main
|
dcb2db72e0c1f1ad289551309ce648384ce7fd3a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"923412ee456e126ed8b6ccc011b9878f92fc96e8","after":"dcb2db72e0c1f1ad289551309ce648384ce7fd3a","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/923412ee456e126ed8b6ccc011b9878f92fc96e8...dcb2db72e0c1f1ad289551309ce648384ce7fd3a","commits":[{"id":"dcb2db72e0c1f1ad289551309ce648384ce7fd3a","message":"merge: preserve current main with verified video pause evidence\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dcb2db72e0c1f1ad289551309ce648384ce7fd3a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:19:48-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-industry-trends.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/industry-trends-2026-09-08/validation.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},{"id":"0d47a9bf807302ffdc296c19631d8d356275876a","message":"test(video): verify batch pause and resume on integrated source\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/0d47a9bf807302ffdc296c19631d8d356275876a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:19:28-07:00","added":["reports/video-batch-pause-2026-09-08/validation.json","reports/video-batch-paused.mobile.png"],"removed":[],"modified":["CLAUDE.md","reports/admin-desktop.png","reports/admin-mobile.png","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-pause-2026-09-08/README.md"]},{"id":"84f942049728be292eb098f3064d8ffb0448b165","message":"Merge branch 'main' into feature/cloud-video-pause\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/84f942049728be292eb098f3064d8ffb0448b165","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:16:50-07:00","added":["docs/releases/2026-09-08-r51.md","reports/menu-toggle-2026-09-08/browser-verification.json","reports/menu-toggle-2026-09-08/deployed-verify.json","reports/menu-toggle-2026-09-08/deployment-summary.json","reports/menu-toggle-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-menu-toggle.md","docs/releases/current.md","reports/menu-toggle-2026-09-08/README.md"]},{"id":"8a2a9a5f190dc6b0f7bfdca930179f626635c795","message":"Merge branch 'main' into feature/cloud-video-pause\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8a2a9a5f190dc6b0f7bfdca930179f626635c795","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:13:20-07:00","added":["apps/api-fastify/prisma/migrations/20260908110000_industry_trends/migration.sql","apps/api-fastify/src/routes/industry-trends.ts","apps/api-fastify/test/industry-trends.integration.test.ts","apps/api-nestjs/prisma/migrations/20260908110000_industry_trends/migration.sql","apps/api-nestjs/src/creative-project/industry-trends.controller.ts","apps/api-nestjs/test/industry-trends.integration.test.ts","apps/web/src/components/material-factory/industry-trends/IndustryTrends.tsx","apps/web/src/components/material-factory/industry-trends/TrendReferences.tsx","apps/web/src/components/material-factory/industry-trends/industry-trends.module.css","docs/governance/log/2026-09-08-industry-trends.md","docs/governance/log/2026-09-08-menu-toggle.md","docs/product/industry-trends.md","docs/releases/migrations/2026-09-08-industry-trends.json","packages/contracts/src/industry-trends.test.ts","packages/contracts/src/industry-trends.ts","packages/industry-trends/package.json","packages/industry-trends/src/index.test.ts","packages/industry-trends/src/index.ts","packages/industry-trends/tsconfig.json","reports/full-submit-2026-09-08/deployment.json","reports/full-submit-2026-09-08/video-task-resolution.json","reports/industry-trends-2026-09-08/browser-result.json","reports/industry-trends-2026-09-08/migration-preflight.json","reports/industry-trends-2026-09-08/validation.json","reports/menu-toggle-2026-09-08/README.md","reports/menu-toggle-2026-09-08/summary.json"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/material-factory.module.ts","apps/api-nestjs/test/content-workbench.integration.test.ts","apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/factory-shell.module.css","apps/web/src/lib/api.ts","apps/web/src/store/useFactoryStore.ts","deploy/vm/Dockerfile","deploy/vm/release.py","deploy/vm/release_test.py","docs/README.md","docs/deploy-vm.md","docs/domain-glossary.md","docs/domain/module-boundary.md","docs/domain/owner-matrix.md","docs/governance/log/2026-09-08-full-submit.md","docs/product/content-creation-workbench.md","docs/releases/2026-09-08-r50-attempt.md","docs/releases/current.md","packages/contracts/src/content.ts","packages/contracts/src/index.ts","pnpm-lock.yaml","reports/admin-desktop.png","reports/admin-mobile.png","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","scripts/check-module-boundary.mjs","scripts/check-ui-acceptance.mjs","scripts/migration-history.json"]},{"id":"0ace354a6d79c96eca95532b6b4a8c74b4685a04","message":"feat(video): pause and resume remaining batch submissions\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/0ace354a6d79c96eca95532b6b4a8c74b4685a04","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:13:20-07:00","added":["apps/web/src/components/material-factory/video-batch.ts","docs/governance/log/2026-09-08-video-batch-pause.md","reports/video-batch-pause-2026-09-08/README.md","scripts/video-batch.test.mjs"],"removed":[],"modified":["apps/web/src/components/material-factory/VideoStudio.tsx","scripts/check-ui-acceptance.mjs","scripts/lib/storyboard-ui-fixture.mjs"]}],"total_commits":0,"head_commit":{"id":"dcb2db72e0c1f1ad289551309ce648384ce7fd3a","message":"merge: preserve current main with verified video pause evidence\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/dcb2db72e0c1f1ad289551309ce648384ce7fd3a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:19:48-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-industry-trends.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/industry-trends-2026-09-08/validation.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":663934,"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":7,"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-09T02:17:55+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788891605
|
1788891644
|
0
|
1788891604
|
1788891644
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23629
|
fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vend fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正...
|
76
|
5
|
governance.yml
|
31
|
5
|
0
|
refs/heads/main
|
dc3e82cb8b195f394a11166d717dfcb526353dcc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","after":"dc3e82cb8b195f394a11166d717dfcb526353dcc","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/7937b2adf8e2349bf89ebd91e94baac5cc2a46dd...dc3e82cb8b195f394a11166d717dfcb526353dcc","commits":[{"id":"dc3e82cb8b195f394a11166d717dfcb526353dcc","message":"fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正\n\n- run 33816294277(7937b2a):Static + Runtime/UI 绿、OTel Collector 钉版后扫描绿;Loki/Tempo 在自断言处构建红——go get 已升级 x/crypto 0.53→0.55/grpc 1.83.2,grep 漏了 modules.txt 的 `# ` 模块行前缀\n- 快照锚点刷新至 7937b2a;快照/ci-gate/G14 三处同源记录该 run;证据新鲜度三行改引 clean 7937b2a 的远端执行\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dc3e82cb8b195f394a11166d717dfcb526353dcc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:38:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"dc3e82cb8b195f394a11166d717dfcb526353dcc","message":"fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正\n\n- run 33816294277(7937b2a):Static + Runtime/UI 绿、OTel Collector 钉版后扫描绿;Loki/Tempo 在自断言处构建红——go get 已升级 x/crypto 0.53→0.55/grpc 1.83.2,grep 漏了 modules.txt 的 `# ` 模块行前缀\n- 快照锚点刷新至 7937b2a;快照/ci-gate/G14 三处同源记录该 run;证据新鲜度三行改引 clean 7937b2a 的远端执行\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dc3e82cb8b195f394a11166d717dfcb526353dcc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:38:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/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":79592,"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-04T07:08:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788478784
|
1788479194
|
0
|
1788478715
|
1788479196
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23445
|
fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉( fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉(C18)...
|
63
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
dbb8444dc97bba3e8ebc715efb82d803001981cd
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf","after":"dbb8444dc97bba3e8ebc715efb82d803001981cd","compare_url":"https://gitea.g-hi.com/luoanwu/forced-alignment/compare/7c3af0f0e3e5d33e89cc59a0e2d727e1641b6cdf...dbb8444dc97bba3e8ebc715efb82d803001981cd","commits":[{"id":"dbb8444dc97bba3e8ebc715efb82d803001981cd","message":"fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉(C18)\n\n- 根因:Node 内置 fetch()(undici)自带 headersTimeout/bodyTimeout 默认\n 300000ms(5 分钟),优先级高于应用层 AbortController——route.ts 精心\n 设计的按音频时长预算(最长 55 分钟)从未真正掌管过请求,sidecar 真实\n 计算超 5 分钟即被静默掐断为 fetch failed,sidecar 进程本身无异常\n- 生产实测复现:用户单句重跑报错 fetch failed;日志显示\n POST /api/alignment/align 502 in 303388ms(卡在整 5 分钟),同一时间\n sidecar 侧无任何异常/Traceback\n- 修复:显式装 undici 依赖,建 Agent({ headersTimeout: 0, bodyTimeout: 0 })\n 作为 dispatcher 传入 fetch,超时决定权完全收回给自建 AbortController\n- 验证:本地短耗时对照实验复现同一故障(headersTimeout 2s 下 2.5s 抛出\n 一致的 fetch failed)并验证修复(headersTimeout:0 下等过 5s 拿到真实\n 响应)——非模拟,真实 HTTP 服务器 + 真实 undici Agent\n- 无自动化回归(apps/web 无 vitest 基座);已回灌 CLAUDE.md 缺口索引与\n 治理经验库,登记「未来任何长耗时出站 fetch 须显式归零 undici 超时」\n 的通用教训\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/dbb8444dc97bba3e8ebc715efb82d803001981cd","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:53:29-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/package.json","apps/web/src/app/api/alignment/align/route.ts","docs/governance-experience.md","pnpm-lock.yaml","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"dbb8444dc97bba3e8ebc715efb82d803001981cd","message":"fix: align 代理层超时预算被 undici 默认 headersTimeout 静默吞掉(C18)\n\n- 根因:Node 内置 fetch()(undici)自带 headersTimeout/bodyTimeout 默认\n 300000ms(5 分钟),优先级高于应用层 AbortController——route.ts 精心\n 设计的按音频时长预算(最长 55 分钟)从未真正掌管过请求,sidecar 真实\n 计算超 5 分钟即被静默掐断为 fetch failed,sidecar 进程本身无异常\n- 生产实测复现:用户单句重跑报错 fetch failed;日志显示\n POST /api/alignment/align 502 in 303388ms(卡在整 5 分钟),同一时间\n sidecar 侧无任何异常/Traceback\n- 修复:显式装 undici 依赖,建 Agent({ headersTimeout: 0, bodyTimeout: 0 })\n 作为 dispatcher 传入 fetch,超时决定权完全收回给自建 AbortController\n- 验证:本地短耗时对照实验复现同一故障(headersTimeout 2s 下 2.5s 抛出\n 一致的 fetch failed)并验证修复(headersTimeout:0 下等过 5s 拿到真实\n 响应)——非模拟,真实 HTTP 服务器 + 真实 undici Agent\n- 无自动化回归(apps/web 无 vitest 基座);已回灌 CLAUDE.md 缺口索引与\n 治理经验库,登记「未来任何长耗时出站 fetch 须显式归零 undici 超时」\n 的通用教训\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/dbb8444dc97bba3e8ebc715efb82d803001981cd","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:53:29-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/package.json","apps/web/src/app/api/alignment/align/route.ts","docs/governance-experience.md","pnpm-lock.yaml","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},"repository":{"id":63,"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":"forced-alignment","full_name":"luoanwu/forced-alignment","description":"纯人声与歌词精准强制对齐工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":29769,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment/languages","html_url":"https://gitea.g-hi.com/luoanwu/forced-alignment","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/forced-alignment.git","clone_url":"https://gitea.g-hi.com/luoanwu/forced-alignment.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-07-22T08:56:49+08:00","updated_at":"2026-07-22T15:40: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
|
6
|
1784706813
|
1784706904
|
0
|
1784706813
|
1784706905
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23459
|
feat(governance): harden report provenance and UI feat(governance): harden report provenance and UI acceptance...
|
54
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
da8f52db37f5b42d035f92ad27a45067bc57dfa9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"02a656716b10d2a5a4937ba01086cbd0a9ff4b85","after":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/02a656716b10d2a5a4937ba01086cbd0a9ff4b85...da8f52db37f5b42d035f92ad27a45067bc57dfa9","commits":[{"id":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","message":"feat(governance): harden report provenance and UI acceptance\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/da8f52db37f5b42d035f92ad27a45067bc57dfa9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-30T07:40:06-07:00","added":["scripts/lib/report-provenance.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","docs/governance-experience.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs"]},{"id":"4940be24ba6bfff2eefb2284f8ce66c9cbd1f326","message":"docs(governance): record remote branch consolidation\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/4940be24ba6bfff2eefb2284f8ce66c9cbd1f326","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:35:33-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","message":"feat(governance): harden report provenance and UI acceptance\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/da8f52db37f5b42d035f92ad27a45067bc57dfa9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-30T07:40:06-07:00","added":["scripts/lib/report-provenance.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","docs/governance-experience.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.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":890,"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":1,"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-07-22T16:35: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
|
8
|
1785422435
|
1785422492
|
0
|
1785422433
|
1785422492
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23389
|
Merge branch 'chore/redeploy-frontend-script Merge branch 'chore/redeploy-frontend-script'...
|
6
|
5
|
ci.yml
|
23305
|
5
|
0
|
refs/heads/main
|
d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7bff77f02f58e23bad0ebcbdbb262111707628e7","after":"d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7bff77f02f58e23bad0ebcbdbb262111707628e7...d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","commits":[{"id":"d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","message":"Merge branch 'chore/redeploy-frontend-script'\n\n新增前端一键强制重建部署脚本\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-24T22:30:40-07:00","added":["scripts/redeploy-frontend.sh"],"removed":[],"modified":[]},{"id":"11d87a93ad63dcc0a675f1b37fcb7ab1372ac47c","message":"chore(ops): 新增 redeploy-frontend.sh 一键强制重建前端镜像\n\n当前无自动镜像发布流水线(GitHub Actions deploy 移除+计费阻塞,Gitea CI 跳过 Docker build/deploy),\ngit pull + 本地构建的机器常因未带 --build 或误用 deploy.sh update(内部是 pull)继续跑旧镜像。\n本脚本一键完成 拉代码-\u003e强制重建-\u003e重建容器-\u003e验证,并复用 deploy.sh 同套 compose 项目名;\n支持 --with-api / --no-cache / --no-pull / --prebuilt(低内存宿主机构建路径)。\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/11d87a93ad63dcc0a675f1b37fcb7ab1372ac47c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-24T22:30:33-07:00","added":["scripts/redeploy-frontend.sh"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","message":"Merge branch 'chore/redeploy-frontend-script'\n\n新增前端一键强制重建部署脚本\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-24T22:30:40-07:00","added":["scripts/redeploy-frontend.sh"],"removed":[],"modified":[]},"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":5489127,"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":10,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-25T12:53: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":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
|
16
|
1779687047
|
1779689247
|
0
|
1779687046
|
1779689247
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23447
|
fix(web): scope E2E user-CRUD assertion to users p fix(web): scope E2E user-CRUD assertion to users panel, not full page...
|
54
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
d846832ebbe1d481019744f038672b935ad09937
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2fa1666f6bb69b7784199199afde715a54856ac8","after":"d846832ebbe1d481019744f038672b935ad09937","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/2fa1666f6bb69b7784199199afde715a54856ac8...d846832ebbe1d481019744f038672b935ad09937","commits":[{"id":"d846832ebbe1d481019744f038672b935ad09937","message":"fix(web): scope E2E user-CRUD assertion to users panel, not full page\n\nPorted from the claude/gallant-diffie-a541dd worktree, whose committed\nhistory was already fully contained in main but whose working tree held\nthis un-landed fix.\n\nNarrow the delete-then-hidden assertion in acceptance.spec.ts to\ngetByTestId(\"users-panel\") instead of the whole page. After d799b17's\noutbox fix, user.created events reliably reach the EventFeed and echo\nthe created user's name in the event JSON, so a page-wide getByText\ncould still match the name via the event log after the row itself was\nremoved, producing a false \"still visible\" read on flaky runs.\n\nRecords this as C16 in CLAUDE.md / governance-experience.md (C14 was\nalready taken by the docs-truth work landed in 2fa1666).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d846832ebbe1d481019744f038672b935ad09937","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:23:10-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/UsersPanel.tsx","docs/governance-experience.md"]}],"total_commits":0,"head_commit":{"id":"d846832ebbe1d481019744f038672b935ad09937","message":"fix(web): scope E2E user-CRUD assertion to users panel, not full page\n\nPorted from the claude/gallant-diffie-a541dd worktree, whose committed\nhistory was already fully contained in main but whose working tree held\nthis un-landed fix.\n\nNarrow the delete-then-hidden assertion in acceptance.spec.ts to\ngetByTestId(\"users-panel\") instead of the whole page. After d799b17's\noutbox fix, user.created events reliably reach the EventFeed and echo\nthe created user's name in the event JSON, so a page-wide getByText\ncould still match the name via the event log after the row itself was\nremoved, producing a false \"still visible\" read on flaky runs.\n\nRecords this as C16 in CLAUDE.md / governance-experience.md (C14 was\nalready taken by the docs-truth work landed in 2fa1666).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d846832ebbe1d481019744f038672b935ad09937","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:23:10-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/UsersPanel.tsx","docs/governance-experience.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":799,"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":1,"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-07-22T16:11:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1784708607
|
1784708660
|
0
|
1784708606
|
1784708660
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23625
|
chore(reports): refresh clean static evidence
|
110
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
d6fd60bc5e8510d22272ee0c86a688e64c1a378b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"06991c06ed232dd99a9384486146e7e119030769","after":"d6fd60bc5e8510d22272ee0c86a688e64c1a378b","compare_url":"https://gitea.g-hi.com/luoanwu/notification-hub/compare/06991c06ed232dd99a9384486146e7e119030769...d6fd60bc5e8510d22272ee0c86a688e64c1a378b","commits":[{"id":"d6fd60bc5e8510d22272ee0c86a688e64c1a378b","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/d6fd60bc5e8510d22272ee0c86a688e64c1a378b","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:34-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"1a160e86df863249255ddb7eea7294dfb9a56289","message":"chore(reports): record clean framework sync evidence\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/1a160e86df863249255ddb7eea7294dfb9a56289","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:14:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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":"03419c881c8d8898b916e0bb7615ed760f092f63","message":"chore(migration): record framework sync receipt\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/03419c881c8d8898b916e0bb7615ed760f092f63","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:14:07-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/framework-migration.latest.json"]},{"id":"b615a1536a1fa3209f8d28e95e1d8baa2ce5d0f3","message":"feat(framework): sync G15-B Redis occupancy guard and governance experience\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/b615a1536a1fa3209f8d28e95e1d8baa2ce5d0f3","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:14:07-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","docs/governance-experience.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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","scripts/check-conformance-differential.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/acceptance-base-guard.mjs"]},{"id":"75d8346048fa5eeae9b03699d5a672466b175a3d","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/75d8346048fa5eeae9b03699d5a672466b175a3d","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T01:31:27-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"d6fd60bc5e8510d22272ee0c86a688e64c1a378b","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/notification-hub/commit/d6fd60bc5e8510d22272ee0c86a688e64c1a378b","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:34-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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":110,"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":"notification-hub","full_name":"luoanwu/notification-hub","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":714,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/notification-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/notification-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/notification-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/notification-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/notification-hub.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-09-01T21:58:21+08:00","updated_at":"2026-09-01T21:59:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788407273
|
1788407303
|
0
|
1788405506
|
1788407557
|
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
|
|
23500
|
feat(kernel): integrate governed LLM execution and feat(kernel): integrate governed LLM execution and operations UI...
|
76
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
d66fbcbb48ca0e0fc2b252b67accac472b8d800f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"d66fbcbb48ca0e0fc2b252b67accac472b8d800f","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/84afc39d2571c2e7d74673572e81fb737d36e271...d66fbcbb48ca0e0fc2b252b67accac472b8d800f","commits":[{"id":"d66fbcbb48ca0e0fc2b252b67accac472b8d800f","message":"feat(kernel): integrate governed LLM execution and operations UI\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d66fbcbb48ca0e0fc2b252b67accac472b8d800f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T23:36:38-07:00","added":["apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/dead-letters.integration.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/dead-letters.integration.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/web/src/components/workbench/ActorAvatar.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/lib/ui-copy.ts","docs/domain/llm-execution-blueprint.md","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.module.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/JobsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/ConnectionCapsule.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/journey.ts","apps/web/src/lib/types.ts","apps/web/tsconfig.json","docs/governance-experience.md","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/runtime.ts","packages/contracts/src/task.ts","packages/contracts/src/trigger.ts","packages/contracts/src/work.test.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.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","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs"]},{"id":"6f6027d4e97cd6dfc976f129ce62cf9e51786c1b","message":"feat(governance): C19 报告内容指纹 worktreeHash + 扫描器排除单源 scan-ignore\n\n- provenance schema v2:dirty 工作区内容指纹(跟踪 diff + 未跟踪内容哈希,clean 恒 null),\n 取材边界与 worktreeDirty 完全同源;静态子报告六字段同 run 对账,伪造 env / dirty-指纹\n 不相干 / 聚合期间内容变化 均即红;验收报告陈旧性 staleAcceptanceReports 显式记录不阻断\n (提交动作必然产生新 SHA,硬闸在 CI 干净 checkout 下恒红,判责理由见 CLAUDE.md 事实作用域)\n- 六门禁扫描器 IGNORE 表收口单源 scripts/lib/scan-ignore.mjs:.next* 前缀统一按产物豁免\n (NEXT_DIST_DIR=.next-fastify 曾被判 17 条 naming + 3 条 F7 假红);.gitignore 补 .next-*\n- 负向测试已实跑:伪造指纹 env exit1;v1 旧 schema 验收报告 schemaVersion+相干性双红\n (换 schema 必须重新出证);植入禁用词红→复原绿;植入空目录红→复原绿\n- 后续:runtime/ui 验收需在稳定树上重跑一次升级到 v2 provenance;在那之前\n check:governance 对旧 v1 验收报告红盘属预期换证语义\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/6f6027d4e97cd6dfc976f129ce62cf9e51786c1b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T22:20:41-07:00","added":["scripts/lib/scan-ignore.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","docs/governance-experience.md","scripts/check-fork-readiness.mjs","scripts/check-naming.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},{"id":"e3696a9352f893fbdbb954f1ec03fb14185d6b53","message":"fix(e2e): Work Graph 用例断言收窄 first()(goal 默认同名双命中)+ 验收报告刷新\n\n并行会话重写 spec 时回退了 strict-mode 修复;同时刷新 clean 基线后的\nruntime(292)/ui(11) 报告。views 半成品留给并行会话,本提交不含。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e3696a9352f893fbdbb954f1ec03fb14185d6b53","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:58:53-07:00","added":[],"removed":[],"modified":["apps/web/e2e/acceptance.spec.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.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":"d7b2d631cf58dd9dcfcf8f2466d43680ea3ea4f3","message":"feat(workgraph): Project 实体化 + Work Graph 依赖门闸 + 读时进度(§12/§14/§103)\n\n- contracts: project.ts(createProjectSchema/ProjectDto/ProjectProgress,无百分比字段)、\n createTaskSchema.dependsOnTaskIds(max16 默认[])、project.created 事件类型\n- DB: TaskDependency(unique[tenantId,taskId,dependsOnTaskId])+ Project 表,\n 双后端同 SQL 迁移 20260825010000_workgraph_slice\n- 双后端: projects 服务(读时 groupBy 进度:total/succeeded/running/blockedByDeps)+\n Task 创建事务内依赖声明(构造性无环,坏依赖 404)+ ready 门闸\n (409 DEPENDENCIES_NOT_MET + unmet 清单,迁移事务内判定)\n- web: ProjectsPanel + 建任务表单 project/依赖选择 + useRealtime project 分支;\n 含并行会话 workbench/views 面板重构收敛(TaskCreateForm 已吸收依赖字段)\n- 验收: check 绿;check:runtime 292 tests(地板 277→292);check:ui 11 用例(地板 10→11)\n ——2026-08-19 本地实跑,PG:55447 + Redis:6397/2、/3\n- 治理: registry 登记 TaskDependency/projects 入口;CLAUDE.md 真源地图/基线表/新鲜度同步;\n 经验库 workgraph 记录(构造性无环、行为断言防 UI 重构碎测)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d7b2d631cf58dd9dcfcf8f2466d43680ea3ea4f3","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:55:25-07:00","added":["apps/api-fastify/prisma/migrations/20260825010000_workgraph_slice/migration.sql","apps/api-fastify/src/modules/work/projects.service.ts","apps/api-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","apps/api-nestjs/src/work/projects.controller.ts","apps/api-nestjs/src/work/projects.service.ts","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/ActionErrorBanner.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/ConnectionCapsule.tsx","apps/web/src/components/workbench/EmptyState.tsx","apps/web/src/components/workbench/JourneyRail.tsx","apps/web/src/components/workbench/StateBadge.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/useTaskActions.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/journey.ts","apps/web/src/lib/state-theme.ts","packages/contracts/src/project.ts"],"removed":["apps/web/src/components/ActorsPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/RuntimeInspectorPanel.tsx","apps/web/src/components/TasksPanel.tsx","apps/web/src/components/TriggersPanel.tsx"],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","governance.registry.json","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/task.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.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":"2763d474f9fc47991ce52ca1f718685d04a1f2d9","message":"feat(auth): G8 持久化角色表——resolveEffectiveRole「DB 覆盖 claim」+ admin 端点 + bootstrap\n\n用户拍板三决策落地:① 生效角色 = DB 覆盖已验签 claim(可降可升、本地可吊销\nIdP 签发的角色;DB 非法值按无记录 fail-safe,claim 兜底);② 两后端对等\nadmin-only /api/roles(GET/PUT upsert/DELETE 204,admin 判定同样走生效角色)+\nAUTH_BOOTSTRAP_ADMIN=\"tenantId:subject\" 虚拟授予解鸡生蛋;③ cancel 特权闸与\napprove 同步改查生效角色(非特权事件不查 DB)。\n\n- contracts:roleAssignmentSchema / resolveEffectiveRole / isBootstrapAdmin 单源;\n subject 取 JWT sub claim(TenantAuthResult/双后端 TenantAuthContext 透传——\n 实测抓获「contracts 产出 subject 而消费端丢弃」断链,403 全链复现后修复)\n- 表:role_assignments([tenantId,subject] 唯一)+ 两侧逐字节一致迁移;\n owner-matrix 先登记后建表;registry 登记 auth 域(validation/tenant 门禁自动覆盖)\n- 验收:contracts 27/27;两后端全 auth 套件各 20/20(真实 DB,核心负向:\n claim=admin 而 DB 记 member → 403);migrations/schema/validation/write-guard/\n dual-backend/naming/fork-readiness 七门禁绿(全量 check 待伙伴会话 Projects\n 切片收敛后随快照重跑)\n- schema.prisma / registry / owner-matrix / work 路由含伙伴会话 Projects 半成品,\n 本提交不含,随其扫荡入库\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/2763d474f9fc47991ce52ca1f718685d04a1f2d9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T08:44:55-07:00","added":["apps/api-fastify/prisma/migrations/20260825000000_role_assignment/migration.sql","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/work/tasks.controller.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/tenant.ts"]}],"total_commits":0,"head_commit":{"id":"d66fbcbb48ca0e0fc2b252b67accac472b8d800f","message":"feat(kernel): integrate governed LLM execution and operations UI\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d66fbcbb48ca0e0fc2b252b67accac472b8d800f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-19T23:36:38-07:00","added":["apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/dead-letters.integration.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/dead-letters.integration.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/web/src/components/workbench/ActorAvatar.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/lib/ui-copy.ts","docs/domain/llm-execution-blueprint.md","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.module.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/JobsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/ConnectionCapsule.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/journey.ts","apps/web/src/lib/types.ts","apps/web/tsconfig.json","docs/governance-experience.md","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/runtime.ts","packages/contracts/src/task.ts","packages/contracts/src/trigger.ts","packages/contracts/src/work.test.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.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","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.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":27,"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":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-20T14:46:28+08:00","updated_at":"2026-08-20T14:47:09+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
|
1787208431
|
1787208453
|
0
|
1787208429
|
1787208455
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23719
|
Merge branch 'main' into feature/storyboar Merge branch 'main' into feature/storyboard-video-regenerate...
|
57
|
5
|
governance.yml
|
90
|
5
|
0
|
refs/heads/main
|
d644831535615b63a052ee56d2cb0287cb3ee632
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4d09042299bc23d6e8e26c8e981f1a685845aac8","after":"d644831535615b63a052ee56d2cb0287cb3ee632","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/4d09042299bc23d6e8e26c8e981f1a685845aac8...d644831535615b63a052ee56d2cb0287cb3ee632","commits":[{"id":"d644831535615b63a052ee56d2cb0287cb3ee632","message":"Merge branch 'main' into feature/storyboard-video-regenerate\n\n# Conflicts:\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d644831535615b63a052ee56d2cb0287cb3ee632","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:30:28-07:00","added":["docs/releases/2026-09-08-r52.md","docs/releases/2026-09-08-trends1.md","reports/industry-trends-2026-09-08/deployment.json","reports/video-batch-pause-2026-09-08/backup-verification.json","reports/video-batch-pause-2026-09-08/browser-verification.json","reports/video-batch-pause-2026-09-08/deployed-verify.json","reports/video-batch-pause-2026-09-08/deployment.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-industry-trends.md","docs/governance/log/2026-09-08-video-batch-pause.md","docs/releases/current.md","reports/video-batch-pause-2026-09-08/README.md"]},{"id":"ac69fc0a2b281d7d4d906ed14ab0ead60cfd9b57","message":"test(video): record full fixed-source regeneration acceptance\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ac69fc0a2b281d7d4d906ed14ab0ead60cfd9b57","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:29:51-07:00","added":["reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png","reports/video-regenerate-2026-09-08/validation.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-video-regenerate.md","reports/admin-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.review-desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png"]},{"id":"881988325479f24f280c78eafcf0e069b0f99e56","message":"test(video): align regression fixture naming with project glossary\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/881988325479f24f280c78eafcf0e069b0f99e56","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:23:04-07:00","added":[],"removed":[],"modified":["scripts/lib/video-regeneration-ui-acceptance.mjs"]},{"id":"ffd52de63c055c0ca566bee4e2cbbff5437b0de5","message":"fix(video): keep polling claimed storyboard jobs\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ffd52de63c055c0ca566bee4e2cbbff5437b0de5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:22:16-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/StoryboardStudio.tsx"]},{"id":"86830e5df55d0fe112701500b70b086c11a64774","message":"test(video): verify regeneration through real API and retained MP4 downloads\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/86830e5df55d0fe112701500b70b086c11a64774","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:22:06-07:00","added":[],"removed":[],"modified":["reports/video-regenerate-2026-09-08/README.md","scripts/lib/video-regeneration-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"d644831535615b63a052ee56d2cb0287cb3ee632","message":"Merge branch 'main' into feature/storyboard-video-regenerate\n\n# Conflicts:\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d644831535615b63a052ee56d2cb0287cb3ee632","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:30:28-07:00","added":["docs/releases/2026-09-08-r52.md","docs/releases/2026-09-08-trends1.md","reports/industry-trends-2026-09-08/deployment.json","reports/video-batch-pause-2026-09-08/backup-verification.json","reports/video-batch-pause-2026-09-08/browser-verification.json","reports/video-batch-pause-2026-09-08/deployed-verify.json","reports/video-batch-pause-2026-09-08/deployment.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-industry-trends.md","docs/governance/log/2026-09-08-video-batch-pause.md","docs/releases/current.md","reports/video-batch-pause-2026-09-08/README.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":669068,"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":7,"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-09T02:27: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
|
3
|
4
|
1788892248
|
1788892538
|
0
|
1788892247
|
1788892538
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23597
|
feat(permission): 新增权限决策规划
|
108
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
d63bc91b99a4ea62c35d0cd2368045ce54e4385c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"d63bc91b99a4ea62c35d0cd2368045ce54e4385c","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"d63bc91b99a4ea62c35d0cd2368045ce54e4385c","message":"feat(permission): 新增权限决策规划\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/d63bc91b99a4ea62c35d0cd2368045ce54e4385c","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:35-07:00","added":["apps/api-nestjs/src/permission/permission-decision.service.ts","docs/domain/permission-preflight-blueprint.md","packages/contracts/src/permission-decision-planner.test.ts","packages/contracts/src/permission-decision-planner.ts","packages/contracts/src/permission-preflight.test.ts","packages/contracts/src/permission-preflight.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"a58f9c47304f1983aca6ba7072f58ff5c0969f55","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/a58f9c47304f1983aca6ba7072f58ff5c0969f55","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:37-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"eb38aefb3c40e4c9a3aa368ad1417a2f8f79035a","message":"feat: 平台身份重绑定 permission-platform(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/eb38aefb3c40e4c9a3aa368ad1417a2f8f79035a","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:30-07:00","added":["docs/framework-migration.md","products/juhai.permission/README.md","products/juhai.permission/acceptance/juhai.permission.order.acceptance.mjs","products/juhai.permission/migrations/juhai.permission.order/20260826090000_create_orders.sql","products/juhai.permission/migrations/juhai.permission.order/20260826091000_create_order_events.sql","products/juhai.permission/package.json","products/juhai.permission/product.manifest.json","products/juhai.permission/src/contracts.ts","products/juhai.permission/src/fastify.ts","products/juhai.permission/src/host.ts","products/juhai.permission/src/index.ts","products/juhai.permission/src/manifest.ts","products/juhai.permission/src/nestjs.ts","products/juhai.permission/src/order-repository.ts","products/juhai.permission/src/tools.ts","products/juhai.permission/src/web.tsx","products/juhai.permission/test/os-host.runtime.test.ts","products/juhai.permission/tsconfig.os-host.json","products/juhai.permission/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"4491834f55010479358d5650e9f738a394335f6f","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/4491834f55010479358d5650e9f738a394335f6f","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:19-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"03eb3aee5143031086e4faf6c7c713d6fb7bde49","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/03eb3aee5143031086e4faf6c7c713d6fb7bde49","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:48:06-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"d63bc91b99a4ea62c35d0cd2368045ce54e4385c","message":"feat(permission): 新增权限决策规划\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/d63bc91b99a4ea62c35d0cd2368045ce54e4385c","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:35-07:00","added":["apps/api-nestjs/src/permission/permission-decision.service.ts","docs/domain/permission-preflight-blueprint.md","packages/contracts/src/permission-decision-planner.test.ts","packages/contracts/src/permission-decision-planner.ts","packages/contracts/src/permission-preflight.test.ts","packages/contracts/src/permission-preflight.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.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":108,"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":"permission-platform","full_name":"luoanwu/permission-platform","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/permission-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/permission-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/permission-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/permission-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/permission-platform.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-09-01T21:58:17+08:00","updated_at":"2026-09-01T21:59: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
|
3
|
6
|
1788279143
|
1788279840
|
0
|
1788271187
|
1788373230
|
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
|
|
23751
|
Merge branch 'main' into feat/video-formal Merge branch 'main' into feat/video-formal-delivery-20260908...
|
57
|
5
|
governance.yml
|
122
|
5
|
0
|
refs/heads/main
|
d5b92949daffd9b1d13a4090131ed55d1b1aef6f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e8c059aa0cf828e4922ec7fd58429272e2e93719","after":"d5b92949daffd9b1d13a4090131ed55d1b1aef6f","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/e8c059aa0cf828e4922ec7fd58429272e2e93719...d5b92949daffd9b1d13a4090131ed55d1b1aef6f","commits":[{"id":"d5b92949daffd9b1d13a4090131ed55d1b1aef6f","message":"Merge branch 'main' into feat/video-formal-delivery-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d5b92949daffd9b1d13a4090131ed55d1b1aef6f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:12:38-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]},{"id":"51523f1ae0cd3df01d9b145d4795568a0b908925","message":"test(governance): final same-fingerprint evidence for video formal transfer\n\nSeven gates and the dual-backend HTTP specialty pass on the tree merged\nwith main 70fcc5c (range preview); one production-gate flake and the\nreused-database specialty failures are kept in the round logs.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/51523f1ae0cd3df01d9b145d4795568a0b908925","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:12:38-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","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/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-director-guard.latest.json","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-delivery-2026-09-08/README.md","reports/video-delivery-2026-09-08/verification.json","reports/video-regenerate-2026-09-08/desktop.png"]},{"id":"691d39b5437b8f3add1a5d10357fc88a9171a447","message":"fix(video-edit): remove duplicated media query import after merge\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/691d39b5437b8f3add1a5d10357fc88a9171a447","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:59:35-07:00","added":[],"removed":[],"modified":["packages/video-edit/src/index.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"7858d74730cd96f451f63a4f5dc0acc26fd0d449","message":"Merge branch 'main' into feat/video-formal-delivery-20260908\n\n# Conflicts:\n#\tCLAUDE.md\n#\tapps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx\n#\tpackages/video-edit/src/index.ts\n#\tpackages/video-edit/src/media.ts\n#\treports/contract-consumers.latest.json\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-acceptance.latest.json\n#\treports/production-security.latest.json\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/sidecar-tests.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7858d74730cd96f451f63a4f5dc0acc26fd0d449","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:55:22-07:00","added":["apps/web/src/components/material-factory/video-edit/RangePreviewControls.tsx","docs/adr/0018-video-range-preview.md","docs/governance/log/2026-09-08-frontend-uiux-analysis.md","docs/governance/log/2026-09-08-video-range-preview.md","docs/releases/2026-09-08-merged1-migration-plan.md","docs/releases/2026-09-08-merged1.md","packages/contracts/src/video-edit-range.test.ts","packages/contracts/src/video-edit-range.ts","packages/video-edit/src/range-preview.test.ts","packages/video-edit/src/range-preview.ts","reports/frontend-uiux-analysis-2026-09-08/README.md","reports/frontend-uiux-analysis-2026-09-08/evidence/aggregate.mjs","reports/frontend-uiux-analysis-2026-09-08/evidence/scan-aggregate.md","reports/frontend-uiux-analysis-2026-09-08/evidence/scan-summary-rerun.json","reports/frontend-uiux-analysis-2026-09-08/evidence/scan-summary.json","reports/frontend-uiux-analysis-2026-09-08/evidence/source-metrics.sh","reports/frontend-uiux-analysis-2026-09-08/evidence/source-metrics.txt","reports/frontend-uiux-analysis-2026-09-08/evidence/uiux-interactions.mjs","reports/frontend-uiux-analysis-2026-09-08/evidence/uiux-scan.mjs","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-admin-operations.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-admin.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-brand.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-content.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-create.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-deliveries.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-edit.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-events.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-gallery.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-home.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-industry-trends.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-inpaint.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-landing.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-reviews.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-script.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-shijie.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-storyboard.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-tasks.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-templates.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-video-edit.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/desktop-video.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-admin.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-brand.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-content.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-create-scrolled.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-create.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-edit.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-home.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-landing.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-menu-dialog.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-script.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-storyboard.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-tasks.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-video-edit.jpg","reports/frontend-uiux-analysis-2026-09-08/screens/mobile-video.jpg","reports/releases/merged1-2026-09-08/backup-verification.json","reports/releases/merged1-2026-09-08/browser-verification.json","reports/releases/merged1-2026-09-08/build.json","reports/releases/merged1-2026-09-08/database-verification.json","reports/releases/merged1-2026-09-08/deployment.json","reports/releases/merged1-2026-09-08/final-verification.json","reports/releases/merged1-2026-09-08/identity.json","reports/releases/merged1-2026-09-08/rehearsal.json","reports/releases/merged1-2026-09-08/source-permissions.json","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/benchmark.json","reports/video-range-preview-2026-09-08/browser-verification.json","reports/video-range-preview-2026-09-08/range-api.json","reports/video-range-preview-2026-09-08/specialty-results.json","reports/video-range-preview-2026-09-08/validation.json","scripts/benchmark-video-range.cjs","scripts/check-video-range-preview.cjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/routes/video-edit.ts","apps/api-nestjs/src/video-edit/video-edit.controller.ts","apps/web/src/components/material-factory/video-edit/SubtitleBurnPanel.tsx","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/timeline-position.ts","apps/web/src/lib/api.ts","deploy/vm/release.py","docs/README.md","docs/adr/README.md","docs/domain/owner-matrix.md","docs/releases/current.md","packages/contracts/src/index.ts","packages/contracts/src/video-edit.ts","packages/video-edit/src/index.ts","packages/video-edit/src/media.ts","packages/video-edit/src/post-production.ts","packages/video-edit/src/worker.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","scripts/video-edit-timeline.test.mjs"]},{"id":"90231ad9130ac52606bb0cb2f36c524953eb7e67","message":"test(governance): regenerate heavy gate reports for the integrated delivery tree\n\nSeven gates pass at fingerprint 56e1a65e… on the branch merged with main\n2344e0b (governed media workflows, media overviews).\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/90231ad9130ac52606bb0cb2f36c524953eb7e67","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:51:54-07:00","added":[],"removed":[],"modified":["reports/admin-desktop.png","reports/admin-mobile.png","reports/content-detail.images-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.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"]}],"total_commits":0,"head_commit":{"id":"d5b92949daffd9b1d13a4090131ed55d1b1aef6f","message":"Merge branch 'main' into feat/video-formal-delivery-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d5b92949daffd9b1d13a4090131ed55d1b1aef6f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:12:38-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":748336,"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":7,"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-09T09:56: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
|
2
|
4
|
1788920076
|
1788920118
|
0
|
1788920076
|
1788920118
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23772
|
Merge branch 'main' into feat/template-pre Merge branch 'main' into feat/template-preview...
|
57
|
5
|
governance.yml
|
142
|
5
|
0
|
refs/heads/main
|
d4d9057079d720cc5e7aae9ee547b5ffdfd47c11
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3cfab75162dc1cd724397fc086192678f095000f","after":"d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/3cfab75162dc1cd724397fc086192678f095000f...d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","commits":[{"id":"d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","message":"Merge branch 'main' into feat/template-preview\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-acceptance.latest.json\n#\treports/production-security.latest.json\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/sidecar-tests.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:57:36-07:00","added":["docs/releases/2026-09-09-image-uiux1.md","reports/storyboard-draft-20260909/live-verification.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-image-creation-uiux.md","docs/governance/log/2026-09-09-storyboard-draft-model.md","docs/releases/current.md","reports/haizan-rename-20260909/README.md","reports/image-creation-uiux-20260909/README.md","reports/image-creation-uiux-20260909/summary.json","reports/storyboard-draft-20260909/README.md","reports/storyboard-draft-20260909/validation.json"]},{"id":"ec8a9388689609aa6ff4686bbe3ce52b7ddaba06","message":"test: verify template preview with integrated workspace updates\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ec8a9388689609aa6ff4686bbe3ce52b7ddaba06","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:57:24-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-template-preview.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/template-preview-20260909/README.md","reports/template-preview-20260909/summary.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"cbcd55c8c922156f86ab2e90a809b2e2437a36bc","message":"Merge branch 'main' into feat/template-preview\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/cbcd55c8c922156f86ab2e90a809b2e2437a36bc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:42:05-07:00","added":["reports/haizan-rename-20260909/README.md","reports/haizan-rename-20260909/dependency-audit.latest.json","reports/haizan-rename-20260909/inference-acceptance.latest.json","reports/haizan-rename-20260909/production-acceptance.latest.json","reports/haizan-rename-20260909/public-file-acceptance.latest.json","reports/haizan-rename-20260909/runtime-acceptance.latest.json","reports/haizan-rename-20260909/script-acceptance.latest.json","reports/haizan-rename-20260909/summary.json","reports/haizan-rename-20260909/ui-acceptance.latest.json","reports/storyboard-draft-20260909/validation.json"],"removed":[],"modified":["docs/governance/log/2026-09-09-storyboard-draft-model.md","reports/storyboard-draft-20260909/README.md"]},{"id":"30fd2dc32fd989766e12bb8014e4446410c564a2","message":"Merge commit '1a97dd5' into feat/template-preview\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-acceptance.latest.json\n#\treports/production-security.latest.json\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/sidecar-tests.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/30fd2dc32fd989766e12bb8014e4446410c564a2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:42:05-07:00","added":["apps/api-fastify/test/storyboard-ai-draft-model.integration.test.ts","apps/api-nestjs/test/storyboard-ai-draft-model.integration.test.ts","docs/governance/log/2026-09-09-image-creation-uiux.md","docs/governance/log/2026-09-09-storyboard-draft-model.md","reports/image-creation-uiux-20260909/README.md","reports/image-creation-uiux-20260909/summary.json","reports/storyboard-draft-20260909/README.md","scripts/lib/image-creation-ui-acceptance.mjs","嗨赞造意的品牌颜色.md"],"removed":["嗨创造意的品牌颜色.md"],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/web/e2e/README.md","apps/web/e2e/specs/create-studio.spec.ts","apps/web/e2e/specs/landing.spec.ts","apps/web/playwright.config.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/lib/product-brand.ts","docs/README.md","docs/domain/material-production-blueprint.md","docs/product/advanced-image-skills.md","docs/product/brand-identity.md","docs/product/business-blueprint-2026-09-05.md","docs/product/controlled-ai-material-factory.md","docs/product/creative-pipeline-design.md","docs/product/creative-workflow-analysis.md","docs/product/platform-module-map.md","docs/product/product-experience-blueprint.md","packages/contracts/src/material-brand.test.ts","packages/contracts/src/sidecar-error.test.ts","packages/contracts/src/sidecar-error.ts","packages/contracts/src/storyboard-ai-draft.test.ts","packages/contracts/src/storyboard.ts","packages/public-file/README.md","product-website/README.md","product-website/app.js","product-website/index.html","scripts/check-pilot-infrastructure.mjs","scripts/check-startup-acceptance.mjs","scripts/check-ui-acceptance.mjs","services/model-sidecar/main.py","services/model-sidecar/test_deepseek.py","services/model-sidecar/test_llm_preflight.py"]},{"id":"a4d3c0b1a256f86c6c5d07b172781efc768171d1","message":"test: record template preview acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a4d3c0b1a256f86c6c5d07b172781efc768171d1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:41:45-07:00","added":["reports/template-preview-20260909/README.md","reports/template-preview-20260909/summary.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-template-preview.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","message":"Merge branch 'main' into feat/template-preview\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-acceptance.latest.json\n#\treports/production-security.latest.json\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/sidecar-tests.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d4d9057079d720cc5e7aae9ee547b5ffdfd47c11","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:57:36-07:00","added":["docs/releases/2026-09-09-image-uiux1.md","reports/storyboard-draft-20260909/live-verification.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-image-creation-uiux.md","docs/governance/log/2026-09-09-storyboard-draft-model.md","docs/releases/current.md","reports/haizan-rename-20260909/README.md","reports/image-creation-uiux-20260909/README.md","reports/image-creation-uiux-20260909/summary.json","reports/storyboard-draft-20260909/README.md","reports/storyboard-draft-20260909/validation.json"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":770964,"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-09T17:53:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788948493
|
1788948533
|
0
|
1788947977
|
1788948533
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23380
|
test(governance): AI Agent/获客域过时 E2E 选择器对齐 canonic test(governance): AI Agent/获客域过时 E2E 选择器对齐 canonical...
|
6
|
5
|
ci.yml
|
23298
|
5
|
0
|
refs/pull/8/head
|
d48cad8c31fa6ca926c14969462ae77d82969918
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":8,"pull_request":{"id":16,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/8","number":8,"user":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"title":"test(governance): AI Agent/获客域过时 E2E 选择器对齐 canonical","body":"AI Agent 员工中心 / 获客中心域审计验收后残留 E2E 过时选择器对齐 canonical(curl/页面实证),两 spec 单跑+合并复跑 14/14 全绿,未放宽断言或 skip。\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":21,"deletions":14,"changed_files":2,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/8","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/8.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/8.patch","mergeable":false,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"98fe893d6daad0b3005b8e39330274d3b76ebf26","repo_id":6,"repo":{"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":5472698,"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":9,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-18T10:09:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/jolly-chatelet-4e240c","ref":"claude/jolly-chatelet-4e240c","sha":"d48cad8c31fa6ca926c14969462ae77d82969918","repo_id":6,"repo":{"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":5472698,"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":9,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-18T10:09:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"b7c45e487850e2c57374b6a58af2c8281c5092fb","due_date":null,"created_at":"2026-05-18T10:09:46+08:00","updated_at":"2026-05-18T10:09:46+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5472698,"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":9,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-18T10:09:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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"},"commit_id":"","review":null}...
|
pull_request
|
1
|
14
|
1779071038
|
1779073402
|
0
|
1779070186
|
1779073402
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/pull/8/head
|
1
|
Edit
Delete
|
|
23423
|
C68:未接线主对齐器 fail-closed——修复 STARS/mms_fa 挂名造假调度陷阱
|
60
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
d4524b485b6859714b59ff6e265c6d3cc79941c6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"226033fd7f9e6266a679a585a26dfb935d56b1e2","after":"d4524b485b6859714b59ff6e265c6d3cc79941c6","compare_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/compare/226033fd7f9e6266a679a585a26dfb935d56b1e2...d4524b485b6859714b59ff6e265c6d3cc79941c6","commits":[{"id":"d4524b485b6859714b59ff6e265c6d3cc79941c6","message":"C68:未接线主对齐器 fail-closed——修复 STARS/mms_fa 挂名造假调度陷阱\n\n调度层曾对无 local_align 生产者的主对齐器(STARS/mms_fa)静默回退\nHubertFA CLI:产物挂着所选模型的名字实际是 HubertFA 对齐的。四层收口:\n- contracts:LOCAL_ALIGN_WIRED_MAIN_ALIGNER_IDS 单源 + hasWiredLocalAlignProducer\n + 契约测试锁(默认主对齐器必须已接线)\n- 执行器:resolvePipelineCommand 对未接线 id 抛 SPAWN_FAILED(桩注入不受影响)\n- 双后端:assertPipelineReady 先于状态判责返回 409\n MAIN_ALIGNER_PRODUCER_NOT_WIRED(逐字节对等 + 各 +1 判责用例)\n- UI:LoadModal 未接线模型禁选 + 琥珀徽标「生产者未接线 · 仅 CLI 研究直跑」\n (浏览器实测研究环境 5 模型清单灰显禁选)\n证据:check:runtime 324/324(floor 320→324)、check:ui 34/34、pnpm check 全绿\n\n本提交同时包含并行会话的 C65-C67 工作树改动(SOFA 校验洗绿修复/KAS 校准\n判责治理/HubertFA 直对齐路由)与 alignment-quality 新门禁。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/d4524b485b6859714b59ff6e265c6d3cc79941c6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T04:50:36-07:00","added":["reports/alignment-quality-governance.latest.json","reports/model-evidence/qingtian-human-kas-calibration.artifact.json","reports/model-evidence/qingtian-human-kas-calibration.latest.json","reports/model-evidence/qingtian-human-kas-calibration.report.html","scripts/check-alignment-quality-governance.mjs","workers/pipeline/analyze_kas_calibration.py","workers/pipeline/build_kas_calibration_artifact.py"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/alignment/alignment-pipeline.ts","apps/api-fastify/src/modules/alignment/alignment-scoring.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/test/alignment.pipeline.test.ts","apps/api-fastify/test/alignment.scoring.test.ts","apps/api-fastify/test/alignment.verification.test.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/test/alignment.pipeline.test.ts","apps/api-nestjs/test/alignment.scoring.test.ts","apps/api-nestjs/test/alignment.verification.test.ts","apps/web/e2e/lyra-studio.spec.ts","apps/web/src/features/lyra-studio/components/modals/LoadModal.tsx","apps/web/src/features/lyra-studio/components/modals/StepModal.tsx","apps/web/src/features/lyra-studio/runMapping.ts","docs/domain/lyric-alignment-production-blueprint.md","package.json","packages/contracts/src/alignment-models.test.ts","packages/contracts/src/alignment-models.ts","packages/pipeline-runner/src/index.ts","packages/pipeline-runner/src/runner.test.ts","reports/alignment-models.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/lyra-prototype-parity.latest.json","reports/migrations.latest.json","reports/model-assets.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/project-truth.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/song-library.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-project-truth.mjs","scripts/governance-report.mjs","workers/pipeline/run_pipeline.py"]}],"total_commits":0,"head_commit":{"id":"d4524b485b6859714b59ff6e265c6d3cc79941c6","message":"C68:未接线主对齐器 fail-closed——修复 STARS/mms_fa 挂名造假调度陷阱\n\n调度层曾对无 local_align 生产者的主对齐器(STARS/mms_fa)静默回退\nHubertFA CLI:产物挂着所选模型的名字实际是 HubertFA 对齐的。四层收口:\n- contracts:LOCAL_ALIGN_WIRED_MAIN_ALIGNER_IDS 单源 + hasWiredLocalAlignProducer\n + 契约测试锁(默认主对齐器必须已接线)\n- 执行器:resolvePipelineCommand 对未接线 id 抛 SPAWN_FAILED(桩注入不受影响)\n- 双后端:assertPipelineReady 先于状态判责返回 409\n MAIN_ALIGNER_PRODUCER_NOT_WIRED(逐字节对等 + 各 +1 判责用例)\n- UI:LoadModal 未接线模型禁选 + 琥珀徽标「生产者未接线 · 仅 CLI 研究直跑」\n (浏览器实测研究环境 5 模型清单灰显禁选)\n证据:check:runtime 324/324(floor 320→324)、check:ui 34/34、pnpm check 全绿\n\n本提交同时包含并行会话的 C65-C67 工作树改动(SOFA 校验洗绿修复/KAS 校准\n判责治理/HubertFA 直对齐路由)与 alignment-quality 新门禁。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/d4524b485b6859714b59ff6e265c6d3cc79941c6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T04:50:36-07:00","added":["reports/alignment-quality-governance.latest.json","reports/model-evidence/qingtian-human-kas-calibration.artifact.json","reports/model-evidence/qingtian-human-kas-calibration.latest.json","reports/model-evidence/qingtian-human-kas-calibration.report.html","scripts/check-alignment-quality-governance.mjs","workers/pipeline/analyze_kas_calibration.py","workers/pipeline/build_kas_calibration_artifact.py"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/alignment/alignment-pipeline.ts","apps/api-fastify/src/modules/alignment/alignment-scoring.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/test/alignment.pipeline.test.ts","apps/api-fastify/test/alignment.scoring.test.ts","apps/api-fastify/test/alignment.verification.test.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/test/alignment.pipeline.test.ts","apps/api-nestjs/test/alignment.scoring.test.ts","apps/api-nestjs/test/alignment.verification.test.ts","apps/web/e2e/lyra-studio.spec.ts","apps/web/src/features/lyra-studio/components/modals/LoadModal.tsx","apps/web/src/features/lyra-studio/components/modals/StepModal.tsx","apps/web/src/features/lyra-studio/runMapping.ts","docs/domain/lyric-alignment-production-blueprint.md","package.json","packages/contracts/src/alignment-models.test.ts","packages/contracts/src/alignment-models.ts","packages/pipeline-runner/src/index.ts","packages/pipeline-runner/src/runner.test.ts","reports/alignment-models.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/lyra-prototype-parity.latest.json","reports/migrations.latest.json","reports/model-assets.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/project-truth.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/song-library.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-project-truth.mjs","scripts/governance-report.mjs","workers/pipeline/run_pipeline.py"]},"repository":{"id":60,"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":"haizan-ai-production-platform","full_name":"luoanwu/haizan-ai-production-platform","description":"嗨赞AI制作平台:音频分离、歌曲结构分析与歌词精对齐生产工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4063,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizan-ai-production-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizan-ai-production-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizan-ai-production-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform.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-07-14T12:25:49+08:00","updated_at":"2026-07-14T18:48:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1784029847
|
1784029937
|
0
|
1784029846
|
1784029937
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23792
|
merge: retain completed template save deployment r merge: retain completed template save deployment records...
|
57
|
5
|
governance.yml
|
162
|
5
|
0
|
refs/heads/main
|
d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cb557111869e1e2a4374646ab0043e21bf988d16","after":"d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/cb557111869e1e2a4374646ab0043e21bf988d16...d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","commits":[{"id":"d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","message":"merge: retain completed template save deployment records\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T07:21:39-07:00","added":["docs/releases/2026-09-09-template-save1.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-template-save.md","docs/releases/current.md","reports/governance-docs.latest.json","reports/template-save-20260909/README.md"]},{"id":"876caa602067a040ebf9a19fb7258de402d0f837","message":"test: verify combined image style and template save release\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/876caa602067a040ebf9a19fb7258de402d0f837","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T07:21:31-07:00","added":["reports/image-style-20260909/README.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-image-style.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"f8e5c27dfbccb74bd6209c73ffccb9d3a7940507","message":"merge: retain template save fix alongside image styles\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f8e5c27dfbccb74bd6209c73ffccb9d3a7940507","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T07:12:33-07:00","added":["docs/governance/log/2026-09-09-template-save.md","reports/template-save-20260909/README.md","reports/template-save-20260909/summary.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/NewTemplateButton.tsx","scripts/lib/template-types-ui-acceptance.mjs"]},{"id":"56f6a3d5d9742171a9acf9d915878b074b33658c","message":"fix(images): preserve selected visual style through generation\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/56f6a3d5d9742171a9acf9d915878b074b33658c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T07:12:19-07:00","added":["docs/governance/log/2026-09-09-image-style.md","packages/contracts/src/image-visual-style.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/image-size.integration.test.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/image-size.integration.test.ts","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/brand.ts","packages/contracts/src/image-type-prompt.test.ts","packages/contracts/src/index.ts","packages/contracts/src/material.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/lib/image-creation-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","message":"merge: retain completed template save deployment records\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d433d91d383e5f7d9fee3713cf71de4bf0d9a5ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T07:21:39-07:00","added":["docs/releases/2026-09-09-template-save1.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-template-save.md","docs/releases/current.md","reports/governance-docs.latest.json","reports/template-save-20260909/README.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":790015,"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-09T22:20:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788963718
|
1788963759
|
0
|
1788963717
|
1788963759
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23554
|
fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C2 fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿...
|
76
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
d433548ec7561644062b04334161019919ea233d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","after":"d433548ec7561644062b04334161019919ea233d","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7...d433548ec7561644062b04334161019919ea233d","commits":[{"id":"d433548ec7561644062b04334161019919ea233d","message":"fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿\n\nC227 产品验收 runner 缺 dist(run 33164556968 判责):两后端 build 前移 + A12 前置违规(负向实红)+ standalone 自含构建/:run 拆分\nC229 libssl CVE-2026-14456:RUNTIME_IMAGE 升级至含 3.5.7-1~deb13u2 的 distroless digest(升级前实查基座 dpkg)\nC230 网关限流塌缩:real_ip 信任链(默认回环)+ limit_req/conn_status 429 + O4 六断言\nC231 docs-truth 批间时序:--assert-only 复验接入 runtime 编排与 UI 聚合收尾\nC232 快照机器锚点:祖先关系 + 实测落后数离线核对(±1 自指窗,负向实红)\nC233 check:ci-gate:G14 现状机器化(当前诚实红 protected:false)+ CODEOWNERS\nC234 验收源卫生:mobile-ios 豁免绑 darwin、agedAcceptanceReports 14 天时效、untrack deploy-probe/QA v2–v10/pyc\nC236 juhai.hr 浏览器用例冻结日期时间炸弹:16 处日期改 UTC 动态锚定(两连红→trace 判责 409 RANGE_INVALID→修复后 31/31×2)\nC235 重号修正(原第二个 C216);O3/O32 断言按 C180 合并语义收敛(401=logoutSession+可见原因)\nG24 登记:无界列表清单/应用层租户配额/CLAUDE.md 瘦身/凭据轮换待办;D-3 留存草案与 target-env 13 条签收清单落盘\n\n本地证据(dirty 工作区,绑定各报告 provenance):pnpm check 24/24;check:runtime 683 tests/矩阵 204/204;check:ui 31/31×2 共 62;check:mobile 26 文件+iOS 自测 5/5\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d433548ec7561644062b04334161019919ea233d","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-29T20:14:39-07:00","added":[".github/CODEOWNERS","deploy/production/target-env-signoff.json","docs/standards/data-retention.md","reports/ci-gate.latest.json","scripts/check-ci-gate.mjs"],"removed":["tmp/deploy-probe-nestjs/.env.example","tmp/deploy-probe-nestjs/docker-compose.yml","tmp/deploy-probe-nestjs/nest-cli.json","tmp/deploy-probe-nestjs/package.json","tmp/deploy-probe-nestjs/prisma/migrations/20260818000000_init/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260819000000_outbox_replay_cursor/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260820000000_work_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260821000000_learning_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260822000000_trigger_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260823000000_outcome_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260824000000_attribution_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/migration_lock.toml","tmp/deploy-probe-nestjs/prisma/schema.prisma","tmp/deploy-probe-nestjs/prisma/seed.ts","tmp/deploy-probe-nestjs/scripts/behavior-parity-snapshot.mjs","tmp/deploy-probe-nestjs/src/actors/actor-events.service.ts","tmp/deploy-probe-nestjs/src/actors/actors.controller.ts","tmp/deploy-probe-nestjs/src/actors/actors.module.ts","tmp/deploy-probe-nestjs/src/actors/actors.service.ts","tmp/deploy-probe-nestjs/src/app.module.ts","tmp/deploy-probe-nestjs/src/common/api-http-exception.filter.ts","tmp/deploy-probe-nestjs/src/common/envelope.ts","tmp/deploy-probe-nestjs/src/common/tenant.decorator.ts","tmp/deploy-probe-nestjs/src/common/zod-validation.pipe.ts","tmp/deploy-probe-nestjs/src/create-app.ts","tmp/deploy-probe-nestjs/src/events/connection-registry.service.ts","tmp/deploy-probe-nestjs/src/events/event-bus.service.ts","tmp/deploy-probe-nestjs/src/events/events.gateway.ts","tmp/deploy-probe-nestjs/src/events/events.module.ts","tmp/deploy-probe-nestjs/src/events/fanout.service.ts","tmp/deploy-probe-nestjs/src/events/outbox-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/events/realtime-stats.controller.ts","tmp/deploy-probe-nestjs/src/events/replay.service.ts","tmp/deploy-probe-nestjs/src/health/health.controller.ts","tmp/deploy-probe-nestjs/src/health/health.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.service.ts","tmp/deploy-probe-nestjs/src/main.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.controller.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.module.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.service.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.module.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.service.ts","tmp/deploy-probe-nestjs/src/queue/job-intent-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/queue/jobs.controller.ts","tmp/deploy-probe-nestjs/src/queue/jobs.processor.ts","tmp/deploy-probe-nestjs/src/queue/queue.module.ts","tmp/deploy-probe-nestjs/src/queue/queue.types.ts","tmp/deploy-probe-nestjs/src/redis/redis.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.controller.ts","tmp/deploy-probe-nestjs/src/roles/roles.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.service.ts","tmp/deploy-probe-nestjs/src/sse/sse.controller.ts","tmp/deploy-probe-nestjs/src/sse/sse.module.ts","tmp/deploy-probe-nestjs/src/statemachine/index.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.engine.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.types.ts","tmp/deploy-probe-nestjs/src/triggers/trigger-engine.service.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.controller.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.module.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.service.ts","tmp/deploy-probe-nestjs/src/users/users.controller.ts","tmp/deploy-probe-nestjs/src/users/users.module.ts","tmp/deploy-probe-nestjs/src/users/users.service.ts","tmp/deploy-probe-nestjs/src/work/grants.service.ts","tmp/deploy-probe-nestjs/src/work/projects.controller.ts","tmp/deploy-probe-nestjs/src/work/projects.service.ts","tmp/deploy-probe-nestjs/src/work/runtimes.service.ts","tmp/deploy-probe-nestjs/src/work/skills.controller.ts","tmp/deploy-probe-nestjs/src/work/skills.service.ts","tmp/deploy-probe-nestjs/src/work/task-events.service.ts","tmp/deploy-probe-nestjs/src/work/tasks.controller.ts","tmp/deploy-probe-nestjs/src/work/tasks.service.ts","tmp/deploy-probe-nestjs/src/work/work.module.ts","tmp/deploy-probe-nestjs/test/actor-events.integration.test.ts","tmp/deploy-probe-nestjs/test/auth.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.jwks.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.roles.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.rs256.acceptance.test.ts","tmp/deploy-probe-nestjs/test/dead-letters.integration.test.ts","tmp/deploy-probe-nestjs/test/http.acceptance.test.ts","tmp/deploy-probe-nestjs/test/job-intent.dispatcher.test.ts","tmp/deploy-probe-nestjs/test/learning.concurrency.test.ts","tmp/deploy-probe-nestjs/test/llm.acceptance.test.ts","tmp/deploy-probe-nestjs/test/llm.anthropic.acceptance.test.ts","tmp/deploy-probe-nestjs/test/outbox.concurrency.test.ts","tmp/deploy-probe-nestjs/test/outbox.deadletter.test.ts","tmp/deploy-probe-nestjs/test/outcomes.integration.test.ts","tmp/deploy-probe-nestjs/test/realtime.command.test.ts","tmp/deploy-probe-nestjs/test/realtime.replay.test.ts","tmp/deploy-probe-nestjs/test/realtime.stats.test.ts","tmp/deploy-probe-nestjs/test/realtime.subscription.test.ts","tmp/deploy-probe-nestjs/test/realtime.tenant.test.ts","tmp/deploy-probe-nestjs/test/task-events.integration.test.ts","tmp/deploy-probe-nestjs/test/triggers.integration.test.ts","tmp/deploy-probe-nestjs/test/work.integration.test.ts","tmp/deploy-probe-nestjs/tsconfig.build.json","tmp/deploy-probe-nestjs/tsconfig.json","tmp/deploy-probe-nestjs/vitest.config.ts","tmp/pdfs/task-loop-qa-v10/page-01.png","tmp/pdfs/task-loop-qa-v10/page-02.png","tmp/pdfs/task-loop-qa-v10/page-03.png","tmp/pdfs/task-loop-qa-v10/page-04.png","tmp/pdfs/task-loop-qa-v10/page-05.png","tmp/pdfs/task-loop-qa-v10/page-06.png","tmp/pdfs/task-loop-qa-v10/page-07.png","tmp/pdfs/task-loop-qa-v10/page-08.png","tmp/pdfs/task-loop-qa-v10/page-09.png","tmp/pdfs/task-loop-qa-v10/page-10.png","tmp/pdfs/task-loop-qa-v10/page-11.png","tmp/pdfs/task-loop-qa-v10/page-12.png","tmp/pdfs/task-loop-qa-v10/page-13.png","tmp/pdfs/task-loop-qa-v10/page-14.png","tmp/pdfs/task-loop-qa-v10/page-15.png","tmp/pdfs/task-loop-qa-v2/page-01.png","tmp/pdfs/task-loop-qa-v2/page-02.png","tmp/pdfs/task-loop-qa-v2/page-03.png","tmp/pdfs/task-loop-qa-v2/page-04.png","tmp/pdfs/task-loop-qa-v2/page-05.png","tmp/pdfs/task-loop-qa-v2/page-06.png","tmp/pdfs/task-loop-qa-v2/page-07.png","tmp/pdfs/task-loop-qa-v2/page-08.png","tmp/pdfs/task-loop-qa-v2/page-09.png","tmp/pdfs/task-loop-qa-v2/page-10.png","tmp/pdfs/task-loop-qa-v2/page-11.png","tmp/pdfs/task-loop-qa-v2/page-12.png","tmp/pdfs/task-loop-qa-v2/page-13.png","tmp/pdfs/task-loop-qa-v2/page-14.png","tmp/pdfs/task-loop-qa-v2/page-15.png","tmp/pdfs/task-loop-qa-v3/contact-sheet.png","tmp/pdfs/task-loop-qa-v3/delivery-01.png","tmp/pdfs/task-loop-qa-v3/delivery-02.png","tmp/pdfs/task-loop-qa-v3/delivery-03.png","tmp/pdfs/task-loop-qa-v3/delivery-04.png","tmp/pdfs/task-loop-qa-v3/delivery-05.png","tmp/pdfs/task-loop-qa-v3/delivery-06.png","tmp/pdfs/task-loop-qa-v3/delivery-07.png","tmp/pdfs/task-loop-qa-v3/delivery-08.png","tmp/pdfs/task-loop-qa-v3/delivery-09.png","tmp/pdfs/task-loop-qa-v3/delivery-10.png","tmp/pdfs/task-loop-qa-v3/delivery-11.png","tmp/pdfs/task-loop-qa-v3/delivery-12.png","tmp/pdfs/task-loop-qa-v3/delivery-13.png","tmp/pdfs/task-loop-qa-v3/delivery-14.png","tmp/pdfs/task-loop-qa-v3/delivery-15.png","tmp/pdfs/task-loop-qa-v3/delivery-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-01.png","tmp/pdfs/task-loop-qa-v3/final-02.png","tmp/pdfs/task-loop-qa-v3/final-03.png","tmp/pdfs/task-loop-qa-v3/final-04.png","tmp/pdfs/task-loop-qa-v3/final-05.png","tmp/pdfs/task-loop-qa-v3/final-06.png","tmp/pdfs/task-loop-qa-v3/final-07.png","tmp/pdfs/task-loop-qa-v3/final-08.png","tmp/pdfs/task-loop-qa-v3/final-09.png","tmp/pdfs/task-loop-qa-v3/final-10.png","tmp/pdfs/task-loop-qa-v3/final-11.png","tmp/pdfs/task-loop-qa-v3/final-12.png","tmp/pdfs/task-loop-qa-v3/final-13.png","tmp/pdfs/task-loop-qa-v3/final-14.png","tmp/pdfs/task-loop-qa-v3/final-15.png","tmp/pdfs/task-loop-qa-v3/final-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-page-13.png","tmp/pdfs/task-loop-qa-v3/page-01.png","tmp/pdfs/task-loop-qa-v3/page-02.png","tmp/pdfs/task-loop-qa-v3/page-03.png","tmp/pdfs/task-loop-qa-v3/page-04.png","tmp/pdfs/task-loop-qa-v3/page-05.png","tmp/pdfs/task-loop-qa-v3/page-06.png","tmp/pdfs/task-loop-qa-v3/page-07.png","tmp/pdfs/task-loop-qa-v3/page-08.png","tmp/pdfs/task-loop-qa-v3/page-09.png","tmp/pdfs/task-loop-qa-v3/page-10.png","tmp/pdfs/task-loop-qa-v3/page-11.png","tmp/pdfs/task-loop-qa-v3/page-12.png","tmp/pdfs/task-loop-qa-v3/page-13.png","tmp/pdfs/task-loop-qa-v3/page-14.png","tmp/pdfs/task-loop-qa-v3/page-15.png","tmp/pdfs/task-loop-qa-v4/contact-sheet.png","tmp/pdfs/task-loop-qa-v4/page-01.png","tmp/pdfs/task-loop-qa-v4/page-02.png","tmp/pdfs/task-loop-qa-v4/page-03.png","tmp/pdfs/task-loop-qa-v4/page-04.png","tmp/pdfs/task-loop-qa-v4/page-05.png","tmp/pdfs/task-loop-qa-v4/page-06.png","tmp/pdfs/task-loop-qa-v4/page-07.png","tmp/pdfs/task-loop-qa-v4/page-08.png","tmp/pdfs/task-loop-qa-v4/page-09.png","tmp/pdfs/task-loop-qa-v4/page-10.png","tmp/pdfs/task-loop-qa-v4/page-11.png","tmp/pdfs/task-loop-qa-v4/page-12.png","tmp/pdfs/task-loop-qa-v4/page-13.png","tmp/pdfs/task-loop-qa-v4/page-14.png","tmp/pdfs/task-loop-qa-v4/page-15.png","tmp/pdfs/task-loop-qa-v5/contact-sheet.png","tmp/pdfs/task-loop-qa-v5/page-01.png","tmp/pdfs/task-loop-qa-v5/page-02.png","tmp/pdfs/task-loop-qa-v5/page-03.png","tmp/pdfs/task-loop-qa-v5/page-04.png","tmp/pdfs/task-loop-qa-v5/page-05.png","tmp/pdfs/task-loop-qa-v5/page-06.png","tmp/pdfs/task-loop-qa-v5/page-07.png","tmp/pdfs/task-loop-qa-v5/page-08.png","tmp/pdfs/task-loop-qa-v5/page-09.png","tmp/pdfs/task-loop-qa-v5/page-10.png","tmp/pdfs/task-loop-qa-v5/page-11.png","tmp/pdfs/task-loop-qa-v5/page-12.png","tmp/pdfs/task-loop-qa-v5/page-13.png","tmp/pdfs/task-loop-qa-v5/page-14.png","tmp/pdfs/task-loop-qa-v5/page-15.png","tmp/pdfs/task-loop-qa-v6/page-01.png","tmp/pdfs/task-loop-qa-v6/page-02.png","tmp/pdfs/task-loop-qa-v6/page-13.png","tmp/pdfs/task-loop-qa-v6/page-14.png","tmp/pdfs/task-loop-qa-v6/page-15.png","tmp/pdfs/task-loop-qa-v7/page-01.png","tmp/pdfs/task-loop-qa-v7/page-02.png","tmp/pdfs/task-loop-qa-v7/page-03.png","tmp/pdfs/task-loop-qa-v7/page-04.png","tmp/pdfs/task-loop-qa-v7/page-05.png","tmp/pdfs/task-loop-qa-v7/page-06.png","tmp/pdfs/task-loop-qa-v7/page-07.png","tmp/pdfs/task-loop-qa-v7/page-08.png","tmp/pdfs/task-loop-qa-v7/page-09.png","tmp/pdfs/task-loop-qa-v7/page-10.png","tmp/pdfs/task-loop-qa-v7/page-11.png","tmp/pdfs/task-loop-qa-v7/page-12.png","tmp/pdfs/task-loop-qa-v7/page-13.png","tmp/pdfs/task-loop-qa-v7/page-14.png","tmp/pdfs/task-loop-qa-v7/page-15.png","tmp/pdfs/task-loop-qa-v8/page-01.png","tmp/pdfs/task-loop-qa-v8/page-02.png","tmp/pdfs/task-loop-qa-v8/page-03.png","tmp/pdfs/task-loop-qa-v8/page-04.png","tmp/pdfs/task-loop-qa-v8/page-05.png","tmp/pdfs/task-loop-qa-v8/page-06.png","tmp/pdfs/task-loop-qa-v8/page-07.png","tmp/pdfs/task-loop-qa-v8/page-08.png","tmp/pdfs/task-loop-qa-v8/page-09.png","tmp/pdfs/task-loop-qa-v8/page-10.png","tmp/pdfs/task-loop-qa-v8/page-11.png","tmp/pdfs/task-loop-qa-v8/page-12.png","tmp/pdfs/task-loop-qa-v8/page-13.png","tmp/pdfs/task-loop-qa-v8/page-14.png","tmp/pdfs/task-loop-qa-v8/page-15.png","tmp/pdfs/task-loop-qa-v9/page-01.png","tmp/pdfs/task-loop-qa-v9/page-02.png","tmp/pdfs/task-loop-qa-v9/page-03.png","tmp/pdfs/task-loop-qa-v9/page-04.png","tmp/pdfs/task-loop-qa-v9/page-05.png","tmp/pdfs/task-loop-qa-v9/page-06.png","tmp/pdfs/task-loop-qa-v9/page-07.png","tmp/pdfs/task-loop-qa-v9/page-08.png","tmp/pdfs/task-loop-qa-v9/page-09.png","tmp/pdfs/task-loop-qa-v9/page-10.png","tmp/pdfs/task-loop-qa-v9/page-11.png","tmp/pdfs/task-loop-qa-v9/page-12.png","tmp/pdfs/task-loop-qa-v9/page-13.png","tmp/pdfs/task-loop-qa-v9/page-14.png","tmp/pdfs/task-loop-qa-v9/page-15.png","tmp/pdfs/task-loop-qa/page-01.png","tmp/pdfs/task-loop-qa/page-02.png","tmp/pdfs/task-loop-qa/page-03.png","tmp/pdfs/task-loop-qa/page-04.png","tmp/pdfs/task-loop-qa/page-05.png","tmp/pdfs/task-loop-qa/page-06.png","tmp/pdfs/task-loop-qa/page-07.png","tmp/pdfs/task-loop-qa/page-08.png","tmp/pdfs/task-loop-qa/page-09.png","tmp/pdfs/task-loop-qa/page-10.png","tmp/pdfs/task-loop-qa/page-11.png","tmp/pdfs/task-loop-qa/page-12.png","tmp/pdfs/task-loop-qa/page-13.png"],"modified":[".gitignore","CLAUDE.md","apps/web/src/lib/api.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","deploy/production/nginx.conf.template","docs/governance-experience.md","docs/operations/production-runbook.md","package.json","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-docs-truth.mjs","scripts/check-operations.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs"]},{"id":"0daede71c4a95f23270c088939ea1492f33d3040","message":"merge: 汇合 GitHub main 治理大波次(32f574b, C177–C219)与本地 OIDC 修复/凭据止血线\n\n两远端自 4a222fb 分叉:GitHub 侧携带 juhai.hr HR 产品与 C177–C219 治理波次\n(供应链镜像重建/Alloy 移除/会话跨tab登出/WS-SSE exp 强断/三态查询全面收口),\n本地侧携带 cf9f65d/fcbd389 生产 OIDC 修复与 1b4bbef 凭据止血。\n冲突裁决:reports 取 GitHub 侧(阶段2全量重生成);api.ts 401 合并为\nlogoutSession()+友好错误;compose 取 GitHub 侧(Alloy 已由 C179 移除);\n.gitignore 再补 .env.production.* 派生副本与 tmp/ops-config/ 整目录。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/0daede71c4a95f23270c088939ea1492f33d3040","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-29T18:59:22-07:00","added":["apps/api-fastify/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-fastify/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-fastify/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-fastify/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-nestjs/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-nestjs/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/web/e2e/juhai-hr.acceptance.spec.ts","apps/web/src/components/workbench/OutcomeCenter.tsx","apps/web/src/components/workbench/ProjectWorkGraph.tsx","apps/web/src/components/workbench/RuntimeContextShell.tsx","apps/web/src/features/actors/components/ActorProfileEditor.tsx","apps/web/src/features/actors/lib/actor-profile-copy.ts","apps/web/src/features/auth/lib/session-sync.ts","apps/web/src/features/projects/api/project-api.ts","apps/web/src/features/projects/hooks/use-projects.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/features/triggers/hooks/use-triggers.ts","deploy/production/otel-collector-builder.yml","docs/domain/juhai-hr-blueprint.md","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/host/fastify.mjs","products/juhai.hr/host/nestjs.mjs","products/juhai.hr/host/server-runtime.mjs","products/juhai.hr/host/web/app/api/auth/config/route.ts","products/juhai.hr/host/web/app/api/auth/exchange/route.ts","products/juhai.hr/host/web/app/layout.tsx","products/juhai.hr/host/web/app/page.tsx","products/juhai.hr/host/web/components/InstalledJuhaiHrWorkspace.tsx","products/juhai.hr/host/web/e2e-results.json","products/juhai.hr/host/web/features/hr/api/hr-api.ts","products/juhai.hr/host/web/features/hr/components/HrDeliveryAuditWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrMasterDataWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelChangeWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelGovernanceWorkbench.tsx","products/juhai.hr/host/web/features/hr/hooks/use-hr.ts","products/juhai.hr/host/web/next.config.ts","products/juhai.hr/host/web/package.json","products/juhai.hr/host/web/postcss.config.js","products/juhai.hr/host/web/public","products/juhai.hr/host/web/tailwind.config.ts","products/juhai.hr/host/web/tsconfig.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/loki-image.latest.json","reports/otel-collector-image.latest.json","reports/tempo-image.latest.json","scripts/check-loki-image.mjs","scripts/check-otel-collector-image.mjs","scripts/check-tempo-image.mjs"],"removed":["deploy/production/alloy.alloy"],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/components/workbench/SkillPicker.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/attachments/components/AttachmentGovernancePanel.tsx","apps/web/src/features/attachments/hooks/use-attachments.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/features/conversations/components/ConversationGovernancePanel.tsx","apps/web/src/features/conversations/hooks/use-conversations.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/permissions/components/PermissionAssignmentsPanel.tsx","apps/web/src/features/permissions/hooks/use-permissions.ts","apps/web/src/features/rag/components/RagGovernancePanel.tsx","apps/web/src/features/rag/hooks/use-rag.ts","apps/web/src/features/skills/components/SkillManagementPanel.tsx","apps/web/src/features/skills/hooks/use-skills.ts","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","apps/web/src/features/tools/components/ToolPicker.tsx","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","apps/web/src/store/useAuthStore.ts","deploy/production/Dockerfile","deploy/production/access-audit-alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/otel-collector.yml","deploy/production/prometheus.yml","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/outcome-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-vulnerabilities.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-operations.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"1b4bbef5e9b640e9b2a99df54a246ecf7fc7c6cd","message":"fix(security): untrack 已入库运维凭据并将 O9 升级为全索引 secret 反扫\n\nC177 阶段0止血:tmp/ops-config/.env.production 与 metrics-token.txt 自 4f2e17b 起\n被 git 跟踪并已推送——C159 只补了 gitignore 模式(对已跟踪文件无效),O9 只断言\n字面路径 deploy/production/.env.production,形成假生效门禁。本提交:\n- git rm --cached 两份凭据文件与两个 __pycache__ 字节码\n- .gitignore 补 metrics-token*.txt / __pycache__/ / *.pyc\n- O9 改为双层反扫:gitignore 命中仍在索引即红 + secret 形状兜底(*.example 豁免)\n 负向测试两腿均已实红(metrics-token 双命中、probe-token 形状腿单命中)后恢复绿\n- CLAUDE.md 增补「提交上传=双推 Gitea+GitHub」会话术语约定(用户拍板)\n凭据轮换候选已生成于 tmp/ops-config/*.rotated-20260829*(不入库),由用户执行替换。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/1b4bbef5e9b640e9b2a99df54a246ecf7fc7c6cd","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-29T18:51:33-07:00","added":[],"removed":["tmp/ops-config/.env.production","tmp/ops-config/metrics-token.txt","tmp/pdfs/__pycache__/generate_task_loop_pdf.cpython-312.pyc","work/product_manual/__pycache__/build_product_manual.cpython-312.pyc"],"modified":[".gitignore","CLAUDE.md","reports/operations.latest.json","scripts/check-operations.mjs"]},{"id":"32f574b8462910b04586d4d9fdc2f7ce277d9c1a","message":"feat(platform): integrate governed HR product and runtime hardening\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/32f574b8462910b04586d4d9fdc2f7ce277d9c1a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:45:04-07:00","added":["apps/api-fastify/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-fastify/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-fastify/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-fastify/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-nestjs/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-nestjs/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/web/e2e/juhai-hr.acceptance.spec.ts","apps/web/src/components/workbench/OutcomeCenter.tsx","apps/web/src/components/workbench/ProjectWorkGraph.tsx","apps/web/src/components/workbench/RuntimeContextShell.tsx","apps/web/src/features/actors/components/ActorProfileEditor.tsx","apps/web/src/features/actors/lib/actor-profile-copy.ts","apps/web/src/features/auth/lib/session-sync.ts","apps/web/src/features/projects/api/project-api.ts","apps/web/src/features/projects/hooks/use-projects.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/features/triggers/hooks/use-triggers.ts","deploy/production/otel-collector-builder.yml","docs/domain/juhai-hr-blueprint.md","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/host/fastify.mjs","products/juhai.hr/host/nestjs.mjs","products/juhai.hr/host/server-runtime.mjs","products/juhai.hr/host/web/app/api/auth/config/route.ts","products/juhai.hr/host/web/app/api/auth/exchange/route.ts","products/juhai.hr/host/web/app/layout.tsx","products/juhai.hr/host/web/app/page.tsx","products/juhai.hr/host/web/components/InstalledJuhaiHrWorkspace.tsx","products/juhai.hr/host/web/e2e-results.json","products/juhai.hr/host/web/features/hr/api/hr-api.ts","products/juhai.hr/host/web/features/hr/components/HrDeliveryAuditWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrMasterDataWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelChangeWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelGovernanceWorkbench.tsx","products/juhai.hr/host/web/features/hr/hooks/use-hr.ts","products/juhai.hr/host/web/next.config.ts","products/juhai.hr/host/web/package.json","products/juhai.hr/host/web/postcss.config.js","products/juhai.hr/host/web/public","products/juhai.hr/host/web/tailwind.config.ts","products/juhai.hr/host/web/tsconfig.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/loki-image.latest.json","reports/otel-collector-image.latest.json","reports/tempo-image.latest.json","scripts/check-loki-image.mjs","scripts/check-otel-collector-image.mjs","scripts/check-tempo-image.mjs"],"removed":["deploy/production/alloy.alloy"],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/components/workbench/SkillPicker.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/attachments/components/AttachmentGovernancePanel.tsx","apps/web/src/features/attachments/hooks/use-attachments.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/features/conversations/components/ConversationGovernancePanel.tsx","apps/web/src/features/conversations/hooks/use-conversations.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/permissions/components/PermissionAssignmentsPanel.tsx","apps/web/src/features/permissions/hooks/use-permissions.ts","apps/web/src/features/rag/components/RagGovernancePanel.tsx","apps/web/src/features/rag/hooks/use-rag.ts","apps/web/src/features/skills/components/SkillManagementPanel.tsx","apps/web/src/features/skills/hooks/use-skills.ts","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","apps/web/src/features/tools/components/ToolPicker.tsx","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","apps/web/src/store/useAuthStore.ts","deploy/production/Dockerfile","deploy/production/access-audit-alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/otel-collector.yml","deploy/production/prometheus.yml","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/outcome-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-vulnerabilities.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-operations.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"d433548ec7561644062b04334161019919ea233d","message":"fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿\n\nC227 产品验收 runner 缺 dist(run 33164556968 判责):两后端 build 前移 + A12 前置违规(负向实红)+ standalone 自含构建/:run 拆分\nC229 libssl CVE-2026-14456:RUNTIME_IMAGE 升级至含 3.5.7-1~deb13u2 的 distroless digest(升级前实查基座 dpkg)\nC230 网关限流塌缩:real_ip 信任链(默认回环)+ limit_req/conn_status 429 + O4 六断言\nC231 docs-truth 批间时序:--assert-only 复验接入 runtime 编排与 UI 聚合收尾\nC232 快照机器锚点:祖先关系 + 实测落后数离线核对(±1 自指窗,负向实红)\nC233 check:ci-gate:G14 现状机器化(当前诚实红 protected:false)+ CODEOWNERS\nC234 验收源卫生:mobile-ios 豁免绑 darwin、agedAcceptanceReports 14 天时效、untrack deploy-probe/QA v2–v10/pyc\nC236 juhai.hr 浏览器用例冻结日期时间炸弹:16 处日期改 UTC 动态锚定(两连红→trace 判责 409 RANGE_INVALID→修复后 31/31×2)\nC235 重号修正(原第二个 C216);O3/O32 断言按 C180 合并语义收敛(401=logoutSession+可见原因)\nG24 登记:无界列表清单/应用层租户配额/CLAUDE.md 瘦身/凭据轮换待办;D-3 留存草案与 target-env 13 条签收清单落盘\n\n本地证据(dirty 工作区,绑定各报告 provenance):pnpm check 24/24;check:runtime 683 tests/矩阵 204/204;check:ui 31/31×2 共 62;check:mobile 26 文件+iOS 自测 5/5\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d433548ec7561644062b04334161019919ea233d","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-29T20:14:39-07:00","added":[".github/CODEOWNERS","deploy/production/target-env-signoff.json","docs/standards/data-retention.md","reports/ci-gate.latest.json","scripts/check-ci-gate.mjs"],"removed":["tmp/deploy-probe-nestjs/.env.example","tmp/deploy-probe-nestjs/docker-compose.yml","tmp/deploy-probe-nestjs/nest-cli.json","tmp/deploy-probe-nestjs/package.json","tmp/deploy-probe-nestjs/prisma/migrations/20260818000000_init/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260819000000_outbox_replay_cursor/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260820000000_work_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260821000000_learning_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260822000000_trigger_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260823000000_outcome_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260824000000_attribution_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/migration_lock.toml","tmp/deploy-probe-nestjs/prisma/schema.prisma","tmp/deploy-probe-nestjs/prisma/seed.ts","tmp/deploy-probe-nestjs/scripts/behavior-parity-snapshot.mjs","tmp/deploy-probe-nestjs/src/actors/actor-events.service.ts","tmp/deploy-probe-nestjs/src/actors/actors.controller.ts","tmp/deploy-probe-nestjs/src/actors/actors.module.ts","tmp/deploy-probe-nestjs/src/actors/actors.service.ts","tmp/deploy-probe-nestjs/src/app.module.ts","tmp/deploy-probe-nestjs/src/common/api-http-exception.filter.ts","tmp/deploy-probe-nestjs/src/common/envelope.ts","tmp/deploy-probe-nestjs/src/common/tenant.decorator.ts","tmp/deploy-probe-nestjs/src/common/zod-validation.pipe.ts","tmp/deploy-probe-nestjs/src/create-app.ts","tmp/deploy-probe-nestjs/src/events/connection-registry.service.ts","tmp/deploy-probe-nestjs/src/events/event-bus.service.ts","tmp/deploy-probe-nestjs/src/events/events.gateway.ts","tmp/deploy-probe-nestjs/src/events/events.module.ts","tmp/deploy-probe-nestjs/src/events/fanout.service.ts","tmp/deploy-probe-nestjs/src/events/outbox-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/events/realtime-stats.controller.ts","tmp/deploy-probe-nestjs/src/events/replay.service.ts","tmp/deploy-probe-nestjs/src/health/health.controller.ts","tmp/deploy-probe-nestjs/src/health/health.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.service.ts","tmp/deploy-probe-nestjs/src/main.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.controller.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.module.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.service.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.module.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.service.ts","tmp/deploy-probe-nestjs/src/queue/job-intent-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/queue/jobs.controller.ts","tmp/deploy-probe-nestjs/src/queue/jobs.processor.ts","tmp/deploy-probe-nestjs/src/queue/queue.module.ts","tmp/deploy-probe-nestjs/src/queue/queue.types.ts","tmp/deploy-probe-nestjs/src/redis/redis.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.controller.ts","tmp/deploy-probe-nestjs/src/roles/roles.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.service.ts","tmp/deploy-probe-nestjs/src/sse/sse.controller.ts","tmp/deploy-probe-nestjs/src/sse/sse.module.ts","tmp/deploy-probe-nestjs/src/statemachine/index.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.engine.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.types.ts","tmp/deploy-probe-nestjs/src/triggers/trigger-engine.service.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.controller.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.module.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.service.ts","tmp/deploy-probe-nestjs/src/users/users.controller.ts","tmp/deploy-probe-nestjs/src/users/users.module.ts","tmp/deploy-probe-nestjs/src/users/users.service.ts","tmp/deploy-probe-nestjs/src/work/grants.service.ts","tmp/deploy-probe-nestjs/src/work/projects.controller.ts","tmp/deploy-probe-nestjs/src/work/projects.service.ts","tmp/deploy-probe-nestjs/src/work/runtimes.service.ts","tmp/deploy-probe-nestjs/src/work/skills.controller.ts","tmp/deploy-probe-nestjs/src/work/skills.service.ts","tmp/deploy-probe-nestjs/src/work/task-events.service.ts","tmp/deploy-probe-nestjs/src/work/tasks.controller.ts","tmp/deploy-probe-nestjs/src/work/tasks.service.ts","tmp/deploy-probe-nestjs/src/work/work.module.ts","tmp/deploy-probe-nestjs/test/actor-events.integration.test.ts","tmp/deploy-probe-nestjs/test/auth.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.jwks.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.roles.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.rs256.acceptance.test.ts","tmp/deploy-probe-nestjs/test/dead-letters.integration.test.ts","tmp/deploy-probe-nestjs/test/http.acceptance.test.ts","tmp/deploy-probe-nestjs/test/job-intent.dispatcher.test.ts","tmp/deploy-probe-nestjs/test/learning.concurrency.test.ts","tmp/deploy-probe-nestjs/test/llm.acceptance.test.ts","tmp/deploy-probe-nestjs/test/llm.anthropic.acceptance.test.ts","tmp/deploy-probe-nestjs/test/outbox.concurrency.test.ts","tmp/deploy-probe-nestjs/test/outbox.deadletter.test.ts","tmp/deploy-probe-nestjs/test/outcomes.integration.test.ts","tmp/deploy-probe-nestjs/test/realtime.command.test.ts","tmp/deploy-probe-nestjs/test/realtime.replay.test.ts","tmp/deploy-probe-nestjs/test/realtime.stats.test.ts","tmp/deploy-probe-nestjs/test/realtime.subscription.test.ts","tmp/deploy-probe-nestjs/test/realtime.tenant.test.ts","tmp/deploy-probe-nestjs/test/task-events.integration.test.ts","tmp/deploy-probe-nestjs/test/triggers.integration.test.ts","tmp/deploy-probe-nestjs/test/work.integration.test.ts","tmp/deploy-probe-nestjs/tsconfig.build.json","tmp/deploy-probe-nestjs/tsconfig.json","tmp/deploy-probe-nestjs/vitest.config.ts","tmp/pdfs/task-loop-qa-v10/page-01.png","tmp/pdfs/task-loop-qa-v10/page-02.png","tmp/pdfs/task-loop-qa-v10/page-03.png","tmp/pdfs/task-loop-qa-v10/page-04.png","tmp/pdfs/task-loop-qa-v10/page-05.png","tmp/pdfs/task-loop-qa-v10/page-06.png","tmp/pdfs/task-loop-qa-v10/page-07.png","tmp/pdfs/task-loop-qa-v10/page-08.png","tmp/pdfs/task-loop-qa-v10/page-09.png","tmp/pdfs/task-loop-qa-v10/page-10.png","tmp/pdfs/task-loop-qa-v10/page-11.png","tmp/pdfs/task-loop-qa-v10/page-12.png","tmp/pdfs/task-loop-qa-v10/page-13.png","tmp/pdfs/task-loop-qa-v10/page-14.png","tmp/pdfs/task-loop-qa-v10/page-15.png","tmp/pdfs/task-loop-qa-v2/page-01.png","tmp/pdfs/task-loop-qa-v2/page-02.png","tmp/pdfs/task-loop-qa-v2/page-03.png","tmp/pdfs/task-loop-qa-v2/page-04.png","tmp/pdfs/task-loop-qa-v2/page-05.png","tmp/pdfs/task-loop-qa-v2/page-06.png","tmp/pdfs/task-loop-qa-v2/page-07.png","tmp/pdfs/task-loop-qa-v2/page-08.png","tmp/pdfs/task-loop-qa-v2/page-09.png","tmp/pdfs/task-loop-qa-v2/page-10.png","tmp/pdfs/task-loop-qa-v2/page-11.png","tmp/pdfs/task-loop-qa-v2/page-12.png","tmp/pdfs/task-loop-qa-v2/page-13.png","tmp/pdfs/task-loop-qa-v2/page-14.png","tmp/pdfs/task-loop-qa-v2/page-15.png","tmp/pdfs/task-loop-qa-v3/contact-sheet.png","tmp/pdfs/task-loop-qa-v3/delivery-01.png","tmp/pdfs/task-loop-qa-v3/delivery-02.png","tmp/pdfs/task-loop-qa-v3/delivery-03.png","tmp/pdfs/task-loop-qa-v3/delivery-04.png","tmp/pdfs/task-loop-qa-v3/delivery-05.png","tmp/pdfs/task-loop-qa-v3/delivery-06.png","tmp/pdfs/task-loop-qa-v3/delivery-07.png","tmp/pdfs/task-loop-qa-v3/delivery-08.png","tmp/pdfs/task-loop-qa-v3/delivery-09.png","tmp/pdfs/task-loop-qa-v3/delivery-10.png","tmp/pdfs/task-loop-qa-v3/delivery-11.png","tmp/pdfs/task-loop-qa-v3/delivery-12.png","tmp/pdfs/task-loop-qa-v3/delivery-13.png","tmp/pdfs/task-loop-qa-v3/delivery-14.png","tmp/pdfs/task-loop-qa-v3/delivery-15.png","tmp/pdfs/task-loop-qa-v3/delivery-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-01.png","tmp/pdfs/task-loop-qa-v3/final-02.png","tmp/pdfs/task-loop-qa-v3/final-03.png","tmp/pdfs/task-loop-qa-v3/final-04.png","tmp/pdfs/task-loop-qa-v3/final-05.png","tmp/pdfs/task-loop-qa-v3/final-06.png","tmp/pdfs/task-loop-qa-v3/final-07.png","tmp/pdfs/task-loop-qa-v3/final-08.png","tmp/pdfs/task-loop-qa-v3/final-09.png","tmp/pdfs/task-loop-qa-v3/final-10.png","tmp/pdfs/task-loop-qa-v3/final-11.png","tmp/pdfs/task-loop-qa-v3/final-12.png","tmp/pdfs/task-loop-qa-v3/final-13.png","tmp/pdfs/task-loop-qa-v3/final-14.png","tmp/pdfs/task-loop-qa-v3/final-15.png","tmp/pdfs/task-loop-qa-v3/final-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-page-13.png","tmp/pdfs/task-loop-qa-v3/page-01.png","tmp/pdfs/task-loop-qa-v3/page-02.png","tmp/pdfs/task-loop-qa-v3/page-03.png","tmp/pdfs/task-loop-qa-v3/page-04.png","tmp/pdfs/task-loop-qa-v3/page-05.png","tmp/pdfs/task-loop-qa-v3/page-06.png","tmp/pdfs/task-loop-qa-v3/page-07.png","tmp/pdfs/task-loop-qa-v3/page-08.png","tmp/pdfs/task-loop-qa-v3/page-09.png","tmp/pdfs/task-loop-qa-v3/page-10.png","tmp/pdfs/task-loop-qa-v3/page-11.png","tmp/pdfs/task-loop-qa-v3/page-12.png","tmp/pdfs/task-loop-qa-v3/page-13.png","tmp/pdfs/task-loop-qa-v3/page-14.png","tmp/pdfs/task-loop-qa-v3/page-15.png","tmp/pdfs/task-loop-qa-v4/contact-sheet.png","tmp/pdfs/task-loop-qa-v4/page-01.png","tmp/pdfs/task-loop-qa-v4/page-02.png","tmp/pdfs/task-loop-qa-v4/page-03.png","tmp/pdfs/task-loop-qa-v4/page-04.png","tmp/pdfs/task-loop-qa-v4/page-05.png","tmp/pdfs/task-loop-qa-v4/page-06.png","tmp/pdfs/task-loop-qa-v4/page-07.png","tmp/pdfs/task-loop-qa-v4/page-08.png","tmp/pdfs/task-loop-qa-v4/page-09.png","tmp/pdfs/task-loop-qa-v4/page-10.png","tmp/pdfs/task-loop-qa-v4/page-11.png","tmp/pdfs/task-loop-qa-v4/page-12.png","tmp/pdfs/task-loop-qa-v4/page-13.png","tmp/pdfs/task-loop-qa-v4/page-14.png","tmp/pdfs/task-loop-qa-v4/page-15.png","tmp/pdfs/task-loop-qa-v5/contact-sheet.png","tmp/pdfs/task-loop-qa-v5/page-01.png","tmp/pdfs/task-loop-qa-v5/page-02.png","tmp/pdfs/task-loop-qa-v5/page-03.png","tmp/pdfs/task-loop-qa-v5/page-04.png","tmp/pdfs/task-loop-qa-v5/page-05.png","tmp/pdfs/task-loop-qa-v5/page-06.png","tmp/pdfs/task-loop-qa-v5/page-07.png","tmp/pdfs/task-loop-qa-v5/page-08.png","tmp/pdfs/task-loop-qa-v5/page-09.png","tmp/pdfs/task-loop-qa-v5/page-10.png","tmp/pdfs/task-loop-qa-v5/page-11.png","tmp/pdfs/task-loop-qa-v5/page-12.png","tmp/pdfs/task-loop-qa-v5/page-13.png","tmp/pdfs/task-loop-qa-v5/page-14.png","tmp/pdfs/task-loop-qa-v5/page-15.png","tmp/pdfs/task-loop-qa-v6/page-01.png","tmp/pdfs/task-loop-qa-v6/page-02.png","tmp/pdfs/task-loop-qa-v6/page-13.png","tmp/pdfs/task-loop-qa-v6/page-14.png","tmp/pdfs/task-loop-qa-v6/page-15.png","tmp/pdfs/task-loop-qa-v7/page-01.png","tmp/pdfs/task-loop-qa-v7/page-02.png","tmp/pdfs/task-loop-qa-v7/page-03.png","tmp/pdfs/task-loop-qa-v7/page-04.png","tmp/pdfs/task-loop-qa-v7/page-05.png","tmp/pdfs/task-loop-qa-v7/page-06.png","tmp/pdfs/task-loop-qa-v7/page-07.png","tmp/pdfs/task-loop-qa-v7/page-08.png","tmp/pdfs/task-loop-qa-v7/page-09.png","tmp/pdfs/task-loop-qa-v7/page-10.png","tmp/pdfs/task-loop-qa-v7/page-11.png","tmp/pdfs/task-loop-qa-v7/page-12.png","tmp/pdfs/task-loop-qa-v7/page-13.png","tmp/pdfs/task-loop-qa-v7/page-14.png","tmp/pdfs/task-loop-qa-v7/page-15.png","tmp/pdfs/task-loop-qa-v8/page-01.png","tmp/pdfs/task-loop-qa-v8/page-02.png","tmp/pdfs/task-loop-qa-v8/page-03.png","tmp/pdfs/task-loop-qa-v8/page-04.png","tmp/pdfs/task-loop-qa-v8/page-05.png","tmp/pdfs/task-loop-qa-v8/page-06.png","tmp/pdfs/task-loop-qa-v8/page-07.png","tmp/pdfs/task-loop-qa-v8/page-08.png","tmp/pdfs/task-loop-qa-v8/page-09.png","tmp/pdfs/task-loop-qa-v8/page-10.png","tmp/pdfs/task-loop-qa-v8/page-11.png","tmp/pdfs/task-loop-qa-v8/page-12.png","tmp/pdfs/task-loop-qa-v8/page-13.png","tmp/pdfs/task-loop-qa-v8/page-14.png","tmp/pdfs/task-loop-qa-v8/page-15.png","tmp/pdfs/task-loop-qa-v9/page-01.png","tmp/pdfs/task-loop-qa-v9/page-02.png","tmp/pdfs/task-loop-qa-v9/page-03.png","tmp/pdfs/task-loop-qa-v9/page-04.png","tmp/pdfs/task-loop-qa-v9/page-05.png","tmp/pdfs/task-loop-qa-v9/page-06.png","tmp/pdfs/task-loop-qa-v9/page-07.png","tmp/pdfs/task-loop-qa-v9/page-08.png","tmp/pdfs/task-loop-qa-v9/page-09.png","tmp/pdfs/task-loop-qa-v9/page-10.png","tmp/pdfs/task-loop-qa-v9/page-11.png","tmp/pdfs/task-loop-qa-v9/page-12.png","tmp/pdfs/task-loop-qa-v9/page-13.png","tmp/pdfs/task-loop-qa-v9/page-14.png","tmp/pdfs/task-loop-qa-v9/page-15.png","tmp/pdfs/task-loop-qa/page-01.png","tmp/pdfs/task-loop-qa/page-02.png","tmp/pdfs/task-loop-qa/page-03.png","tmp/pdfs/task-loop-qa/page-04.png","tmp/pdfs/task-loop-qa/page-05.png","tmp/pdfs/task-loop-qa/page-06.png","tmp/pdfs/task-loop-qa/page-07.png","tmp/pdfs/task-loop-qa/page-08.png","tmp/pdfs/task-loop-qa/page-09.png","tmp/pdfs/task-loop-qa/page-10.png","tmp/pdfs/task-loop-qa/page-11.png","tmp/pdfs/task-loop-qa/page-12.png","tmp/pdfs/task-loop-qa/page-13.png"],"modified":[".gitignore","CLAUDE.md","apps/web/src/lib/api.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","deploy/production/nginx.conf.template","docs/governance-experience.md","docs/operations/production-runbook.md","package.json","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-docs-truth.mjs","scripts/check-operations.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-all.mjs","scripts/governance-report.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":74466,"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-08-29T12:51: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
|
3
|
18
|
1788059693
|
1788059711
|
0
|
1788059683
|
1788059711
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23728
|
Merge branch 'main' into feat/pro-video-po Merge branch 'main' into feat/pro-video-post-production...
|
57
|
5
|
governance.yml
|
99
|
5
|
0
|
refs/heads/main
|
d3b32960bea74ddcdf6ae9c439258554b02ed4c8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a6856121b2612debaa629992110133193d4226b0","after":"d3b32960bea74ddcdf6ae9c439258554b02ed4c8","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/a6856121b2612debaa629992110133193d4226b0...d3b32960bea74ddcdf6ae9c439258554b02ed4c8","commits":[{"id":"d3b32960bea74ddcdf6ae9c439258554b02ed4c8","message":"Merge branch 'main' into feat/pro-video-post-production\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d3b32960bea74ddcdf6ae9c439258554b02ed4c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T12:21:20-07:00","added":["docs/governance/log/2026-09-08-video-post-independent.md","packages/video-edit/src/post-production-review.test.ts","reports/video-post-independent-2026-09-08/README.md","reports/video-post-independent-2026-09-08/api.json","reports/video-post-independent-2026-09-08/browser-results.json","reports/video-post-independent-2026-09-08/desktop-finish.png","reports/video-post-independent-2026-09-08/mobile-audio.png","reports/video-post-independent-2026-09-08/recording.json","reports/video-post-independent-2026-09-08/runtime-retry-note.json","reports/video-post-independent-2026-09-08/specialty-results.json","reports/video-post-independent-2026-09-08/subtitles.json","reports/video-post-independent-2026-09-08/ui.json","scripts/check-video-recording-acceptance.cjs"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/video-edit/CaptionEditor.tsx","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","deploy/vm/release.py","deploy/vm/release_test.py","docs/deploy-vm.md","docs/product/ai-video-edit.md","packages/contracts/src/video-edit.ts","packages/video-edit/src/audio.ts","packages/video-edit/src/planner.ts","packages/video-edit/src/worker.ts","reports/admin-mobile.png","reports/content-detail.images-desktop.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.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","scripts/check-video-post-production-ui.cjs","scripts/check-video-post-production.cjs"]},{"id":"00bac9cd94e466acf42220495bb8d2296a226ce8","message":"docs(release): record verified professional video post-production deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/00bac9cd94e466acf42220495bb8d2296a226ce8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T12:20:47-07:00","added":["docs/releases/2026-09-08-post1.md","reports/pro-video-2026-09-08/backup-verification.json","reports/pro-video-2026-09-08/browser-verification.json","reports/pro-video-2026-09-08/build-cache.json","reports/pro-video-2026-09-08/deployed-verify.json","reports/pro-video-2026-09-08/deployment.json","reports/pro-video-2026-09-08/linux-tests.txt","reports/pro-video-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-pro-video-post-production.md","docs/releases/current.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/pro-video-2026-09-08/README.md","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"d3b32960bea74ddcdf6ae9c439258554b02ed4c8","message":"Merge branch 'main' into feat/pro-video-post-production\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d3b32960bea74ddcdf6ae9c439258554b02ed4c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T12:21:20-07:00","added":["docs/governance/log/2026-09-08-video-post-independent.md","packages/video-edit/src/post-production-review.test.ts","reports/video-post-independent-2026-09-08/README.md","reports/video-post-independent-2026-09-08/api.json","reports/video-post-independent-2026-09-08/browser-results.json","reports/video-post-independent-2026-09-08/desktop-finish.png","reports/video-post-independent-2026-09-08/mobile-audio.png","reports/video-post-independent-2026-09-08/recording.json","reports/video-post-independent-2026-09-08/runtime-retry-note.json","reports/video-post-independent-2026-09-08/specialty-results.json","reports/video-post-independent-2026-09-08/subtitles.json","reports/video-post-independent-2026-09-08/ui.json","scripts/check-video-recording-acceptance.cjs"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/video-edit/CaptionEditor.tsx","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","deploy/vm/release.py","deploy/vm/release_test.py","docs/deploy-vm.md","docs/product/ai-video-edit.md","packages/contracts/src/video-edit.ts","packages/video-edit/src/audio.ts","packages/video-edit/src/planner.ts","packages/video-edit/src/worker.ts","reports/admin-mobile.png","reports/content-detail.images-desktop.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","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/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-director-guard.latest.json","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/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.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","scripts/check-video-post-production-ui.cjs","scripts/check-video-post-production.cjs"]},"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":703028,"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":7,"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-09T03:17:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788895296
|
1788895387
|
0
|
1788895295
|
1788895387
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23643
|
docs(marketing): 纳入官网、销售资料、营销海报与品牌配色
|
57
|
5
|
governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
d325551644ebf1c26553289cf0c6807695d4d940
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"aa468b36029aea0cd0c2011527f68c3c09a39332","after":"d325551644ebf1c26553289cf0c6807695d4d940","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/aa468b36029aea0cd0c2011527f68c3c09a39332...d325551644ebf1c26553289cf0c6807695d4d940","commits":[{"id":"d325551644ebf1c26553289cf0c6807695d4d940","message":"docs(marketing): 纳入官网、销售资料、营销海报与品牌配色\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d325551644ebf1c26553289cf0c6807695d4d940","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:43-07:00","added":["marketing-posters/2026-09-05/capabilities-background.png","marketing-posters/2026-09-05/creative-background.png","marketing-posters/2026-09-05/pilot-background.png","marketing-posters/2026-09-05/产品能力版-制作说明.md","marketing-posters/2026-09-05/制作说明.md","marketing-posters/2026-09-05/嗨创造意-产品宣传海报.html","marketing-posters/2026-09-05/嗨创造意-产品宣传海报.png","marketing-posters/2026-09-05/嗨创造意-产品能力海报.html","marketing-posters/2026-09-05/嗨创造意-产品能力海报.png","marketing-posters/2026-09-05/嗨创造意-试点邀约海报.html","marketing-posters/2026-09-05/嗨创造意-试点邀约海报.png","marketing-posters/2026-09-05/试点邀约版-制作说明.md","product-website/README.md","product-website/app.js","product-website/assets/creative-stage.png","product-website/assets/night-live.png","product-website/design/01-hero.png","product-website/design/02-product.png","product-website/design/03-pilot.png","product-website/design/preview-desktop.png","product-website/design/preview-mobile.png","product-website/design/prompts.json","product-website/design/核对记录.md","product-website/design/设计说明.md","product-website/index.html","product-website/styles.css","sales-documents/README.md","sales-documents/嗨创造意客户案例采集与效果证明模板.docx","sales-documents/嗨创造意客户版产品一页纸.docx","sales-documents/嗨创造意报价与服务范围说明.docx","sales-documents/嗨创造意试点方案与验收表.docx","sales-documents/嗨创造意销售演示脚本与常见问答.docx","sales-documents/销售资料核对与推进清单.md","嗨创造意的品牌颜色.md"],"removed":[],"modified":[]},{"id":"5e0ee64b29714ffc4eb45c64d9538e3c02a46bc5","message":"chore(design): 归档品牌原型与海报交付产物\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5e0ee64b29714ffc4eb45c64d9538e3c02a46bc5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:42-07:00","added":["output/haichuang-posters-20260905/05-capabilities.pdf","output/haichuang-posters-20260905/README.md","output/haichuang-posters-20260905/all-posters.html","output/haichuang-posters-20260905/artwork/01-inspiration.png","output/haichuang-posters-20260905/artwork/02-create.png","output/haichuang-posters-20260905/artwork/03-stage.png","output/haichuang-posters-20260905/artwork/04-brand.png","output/haichuang-posters-20260905/artwork/05-capabilities.png","output/haichuang-posters-20260905/capabilities-validation.json","output/haichuang-posters-20260905/editable/01-inspiration.html","output/haichuang-posters-20260905/editable/02-create.html","output/haichuang-posters-20260905/editable/03-stage.html","output/haichuang-posters-20260905/editable/04-brand.html","output/haichuang-posters-20260905/editable/05-capabilities.html","output/haichuang-posters-20260905/editable/compose.cjs","output/haichuang-posters-20260905/haichuang-poster-pack.zip","output/haichuang-posters-20260905/haichuang-posters.pdf","output/haichuang-posters-20260905/manifest.json","output/haichuang-posters-20260905/posters/01-inspiration.png","output/haichuang-posters-20260905/posters/02-create.png","output/haichuang-posters-20260905/posters/03-stage.png","output/haichuang-posters-20260905/posters/04-brand.png","output/haichuang-posters-20260905/posters/05-capabilities.png","output/haichuang-posters-20260905/review-board.html","output/haichuang-posters-20260905/review-manifest.json","output/haichuang-posters-20260905/validation.json","output/uiux-prototype-20260905/dist-desktop/assets/desktop-DQsNh75W.js"],"removed":["output/uiux-prototype-20260905/dist-desktop/assets/desktop-BjV2Vpbn.js"],"modified":["output/uiux-prototype-20260905/AGENTS.md","output/uiux-prototype-20260905/README.md","output/uiux-prototype-20260905/desktop.html","output/uiux-prototype-20260905/dist-desktop/desktop.html","output/uiux-prototype-20260905/dist-desktop/gallery.html","output/uiux-prototype-20260905/docs/interaction-guide.md","output/uiux-prototype-20260905/page-manifest.json","output/uiux-prototype-20260905/public/gallery.html","output/uiux-prototype-20260905/qa/make-gallery.py","output/uiux-prototype-20260905/src/Desktop.tsx","output/uiux-prototype-20260905/src/Prototype.tsx","output/uiux-prototype-20260905/src/studio/CreationScreens.tsx","output/uiux-prototype-20260905/src/studio/ManagementScreens.tsx"]},{"id":"84c560123fc1d31dfe79f48b6e295fee4584e32c","message":"test(reports): 保存当前检查结果与全量归档说明\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/84c560123fc1d31dfe79f48b6e295fee4584e32c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:41-07:00","added":["reports/dependency-audit.latest.json","reports/full-submit-2026-09-05/README.md","reports/full-submit-2026-09-05/check.txt","reports/full-submit-2026-09-05/identity.txt","reports/full-submit-2026-09-05/lint.txt","reports/full-submit-2026-09-05/tests.txt","reports/full-submit-2026-09-05/types.txt","reports/prd-failure.png","reports/ui-failure.png","reports/ui-failure.txt"],"removed":[],"modified":["reports/admin-desktop.png","reports/admin-mobile.png","reports/baseline.json","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/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-security.latest.json","reports/project-deep-analysis-2026-09-05.md","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.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"]},{"id":"203935aa9581de17a20fa0aec73b142276964477","message":"test(reports): 收纳品牌、产品活动与治理专项报告\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/203935aa9581de17a20fa0aec73b142276964477","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:40-07:00","added":["reports/brand-rename-2026-09-05/README.md","reports/brand-rename-2026-09-05/admin-1440.png","reports/brand-rename-2026-09-05/admin-390.png","reports/brand-rename-2026-09-05/browser-initial.json","reports/brand-rename-2026-09-05/browser.json","reports/brand-rename-2026-09-05/changes.json","reports/brand-rename-2026-09-05/login-1440.png","reports/brand-rename-2026-09-05/login-390.png","reports/brand-rename-2026-09-05/prototype-desktop.png","reports/brand-rename-2026-09-05/prototype-mobile.png","reports/brand-rename-2026-09-05/validation.json","reports/brand-rename-2026-09-05/workspace-1440.png","reports/brand-rename-2026-09-05/workspace-390.png","reports/documentation-refresh-2026-09-05/README.md","reports/documentation-refresh-2026-09-05/changes.json","reports/documentation-refresh-2026-09-05/check-docs.py","reports/documentation-refresh-2026-09-05/governance-docs.json","reports/documentation-refresh-2026-09-05/reviewed-files.json","reports/documentation-refresh-2026-09-05/validation.json","reports/governance-repair-2026-09-05/README.md","reports/governance-repair-2026-09-05/caddy-config.json","reports/governance-repair-2026-09-05/drifted-2311/README.md","reports/governance-repair-2026-09-05/drifted-2311/caddy-config.json","reports/governance-repair-2026-09-05/drifted-2311/summary.json","reports/governance-repair-2026-09-05/drifted-2311/verified-source-files.json","reports/governance-repair-2026-09-05/post-verification-drift.json","reports/governance-repair-2026-09-05/summary.json","reports/governance-repair-2026-09-05/verified-2306/README.md","reports/governance-repair-2026-09-05/verified-2306/caddy-config.json","reports/governance-repair-2026-09-05/verified-2306/summary.json","reports/governance-repair-2026-09-05/verified-source-files.json","reports/product-activity-acceptance-2026-09-05/01-running-version.png","reports/product-activity-acceptance-2026-09-05/02-preview-entry-before.png","reports/product-activity-acceptance-2026-09-05/03-workspace-before.png","reports/product-activity-acceptance-2026-09-05/04-brand.png","reports/product-activity-acceptance-2026-09-05/05-template.png","reports/product-activity-acceptance-2026-09-05/06-content-output.png","reports/product-activity-acceptance-2026-09-05/07-workspace-after.png","reports/product-activity-acceptance-2026-09-05/08-template-brand-scope.png","reports/product-activity-acceptance-2026-09-05/09-template-handoff.png","reports/product-activity-acceptance-2026-09-05/10-edit-brand-empty.png","reports/product-activity-acceptance-2026-09-05/11-video-readiness.png","reports/product-activity-acceptance-2026-09-05/12-delivery.png","reports/product-activity-acceptance-2026-09-05/13-formal-task.png","reports/product-activity-acceptance-2026-09-05/14-template-empty-after.png","reports/product-activity-acceptance-2026-09-05/README.md","reports/product-activity-acceptance-2026-09-05/brand-after-dom.txt","reports/product-activity-acceptance-2026-09-05/delivery-dom.txt","reports/product-activity-acceptance-2026-09-05/edit-empty-dom.txt","reports/product-activity-acceptance-2026-09-05/task-delivery-dom.txt","reports/product-activity-acceptance-2026-09-05/template-after-dom.txt","reports/product-activity-acceptance-2026-09-05/template-positive-dom.txt","reports/product-activity-acceptance-2026-09-05/verification.json","reports/product-activity-acceptance-2026-09-05/video-dom.txt","reports/project-analysis-2026-09-05/README.md","reports/project-analysis-2026-09-05/boundary-probes.cjs","reports/project-analysis-2026-09-05/boundary-probes.json","reports/project-analysis-2026-09-05/callback-probe.json","reports/project-analysis-2026-09-05/callback-probe.py","reports/project-analysis-2026-09-05/changed-during-analysis.json","reports/project-analysis-2026-09-05/governance-run.json","reports/project-analysis-2026-09-05/governance.snapshot.json","reports/project-analysis-2026-09-05/snapshot-start.json","reports/project-analysis-2026-09-05/verification-final.json"],"removed":[],"modified":[]},{"id":"d5d92363c75d77efca60da1a100ab6496b3210e5","message":"test(reports): 归档修复部署及固定版本验收证据\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d5d92363c75d77efca60da1a100ab6496b3210e5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:40-07:00","added":["reports/repair-deploy-2026-09-05/release/README.md","reports/repair-deploy-2026-09-05/release/admin-desktop.png","reports/repair-deploy-2026-09-05/release/admin-mobile.png","reports/repair-deploy-2026-09-05/release/candidate-smoke.json","reports/repair-deploy-2026-09-05/release/cleanup.json","reports/repair-deploy-2026-09-05/release/content-detail.brief-desktop.png","reports/repair-deploy-2026-09-05/release/content-detail.images-desktop.png","reports/repair-deploy-2026-09-05/release/content-detail.output-desktop.png","reports/repair-deploy-2026-09-05/release/content-detail.output-mobile.png","reports/repair-deploy-2026-09-05/release/content-detail.plans-desktop.png","reports/repair-deploy-2026-09-05/release/content-detail.review-desktop.png","reports/repair-deploy-2026-09-05/release/cutover.json","reports/repair-deploy-2026-09-05/release/deployed-1440.png","reports/repair-deploy-2026-09-05/release/deployed-390.png","reports/repair-deploy-2026-09-05/release/deployed-api-smoke.json","reports/repair-deploy-2026-09-05/release/deployed-browser.json","reports/repair-deploy-2026-09-05/release/deployed-services.json","reports/repair-deploy-2026-09-05/release/final-revision.json","reports/repair-deploy-2026-09-05/release/image-source-verification.json","reports/repair-deploy-2026-09-05/release/inference-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/inference-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/production-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/public-file-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/runtime-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/script-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/initialization-failure/ui-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/model-api-key-saved.png","reports/repair-deploy-2026-09-05/release/model-credential-error.desktop.png","reports/repair-deploy-2026-09-05/release/model-credential-error.mobile.png","reports/repair-deploy-2026-09-05/release/model-inventory.json","reports/repair-deploy-2026-09-05/release/online-model-readiness.json","reports/repair-deploy-2026-09-05/release/prd-retry.mobile.png","reports/repair-deploy-2026-09-05/release/prd-review.desktop.png","reports/repair-deploy-2026-09-05/release/production-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/public-file-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/release-summary.json","reports/repair-deploy-2026-09-05/release/runtime-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/script-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/ui-acceptance.desktop.png","reports/repair-deploy-2026-09-05/release/ui-acceptance.latest.json","reports/repair-deploy-2026-09-05/release/ui-acceptance.mobile.png","reports/repair-deploy-2026-09-05/release/ui-acceptance.production.png","reports/repair-deploy-2026-09-05/release/ux-edit.desktop.png","reports/repair-deploy-2026-09-05/release/ux-home.desktop.png","reports/repair-deploy-2026-09-05/release/ux-home.mobile.png","reports/repair-deploy-2026-09-05/release/ux-intake.desktop.png"],"removed":[],"modified":["reports/repair-deploy-2026-09-05/online-model-readiness.json","reports/repair-deploy-2026-09-05/quality.log","reports/repair-deploy-2026-09-05/ui.log"]}],"total_commits":0,"head_commit":{"id":"d325551644ebf1c26553289cf0c6807695d4d940","message":"docs(marketing): 纳入官网、销售资料、营销海报与品牌配色\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d325551644ebf1c26553289cf0c6807695d4d940","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T18:01:43-07:00","added":["marketing-posters/2026-09-05/capabilities-background.png","marketing-posters/2026-09-05/creative-background.png","marketing-posters/2026-09-05/pilot-background.png","marketing-posters/2026-09-05/产品能力版-制作说明.md","marketing-posters/2026-09-05/制作说明.md","marketing-posters/2026-09-05/嗨创造意-产品宣传海报.html","marketing-posters/2026-09-05/嗨创造意-产品宣传海报.png","marketing-posters/2026-09-05/嗨创造意-产品能力海报.html","marketing-posters/2026-09-05/嗨创造意-产品能力海报.png","marketing-posters/2026-09-05/嗨创造意-试点邀约海报.html","marketing-posters/2026-09-05/嗨创造意-试点邀约海报.png","marketing-posters/2026-09-05/试点邀约版-制作说明.md","product-website/README.md","product-website/app.js","product-website/assets/creative-stage.png","product-website/assets/night-live.png","product-website/design/01-hero.png","product-website/design/02-product.png","product-website/design/03-pilot.png","product-website/design/preview-desktop.png","product-website/design/preview-mobile.png","product-website/design/prompts.json","product-website/design/核对记录.md","product-website/design/设计说明.md","product-website/index.html","product-website/styles.css","sales-documents/README.md","sales-documents/嗨创造意客户案例采集与效果证明模板.docx","sales-documents/嗨创造意客户版产品一页纸.docx","sales-documents/嗨创造意报价与服务范围说明.docx","sales-documents/嗨创造意试点方案与验收表.docx","sales-documents/嗨创造意销售演示脚本与常见问答.docx","sales-documents/销售资料核对与推进清单.md","嗨创造意的品牌颜色.md"],"removed":[],"modified":[]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":198561,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-06T06:25:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788656535
|
1788656573
|
0
|
1788656534
|
1788656573
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23469
|
接入阿里模型
|
51
|
5
|
ci.yml
|
7
|
8
|
0
|
refs/heads/main
|
d2c80a998dd127b9cbf72d39436ca7248ffe98ae
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","after":"d2c80a998dd127b9cbf72d39436ca7248ffe98ae","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/ea5ea97b4d7487a0cd01201fcf404ec4b1913321...d2c80a998dd127b9cbf72d39436ca7248ffe98ae","commits":[{"id":"d2c80a998dd127b9cbf72d39436ca7248ffe98ae","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/d2c80a998dd127b9cbf72d39436ca7248ffe98ae","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:49:48+08:00","added":[],"removed":[],"modified":["团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/scripts/test-static.mjs"]}],"total_commits":0,"head_commit":{"id":"d2c80a998dd127b9cbf72d39436ca7248ffe98ae","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/d2c80a998dd127b9cbf72d39436ca7248ffe98ae","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:49:48+08:00","added":[],"removed":[],"modified":["团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/scripts/test-static.mjs"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":87296,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.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-07-02T16:02:07+08:00","updated_at":"2026-07-31T14:10: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":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"},"sender":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"}}...
|
push
|
2
|
8
|
1785480594
|
1785480692
|
0
|
1785480593
|
1785480692
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
13812
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
ci.yml
|
13734
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"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":5212729,"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":4,"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-13T00:24: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":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
|
12
|
1776066084
|
1776066121
|
0
|
1776066083
|
1776066559
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
13813
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
e2e-tests.yml
|
13735
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"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":5212729,"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":4,"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-13T00:24: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":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
|
1776066121
|
1776066496
|
0
|
1776066084
|
1776066744
|
|
|
0
|
Edit
Delete
|
|
13814
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
test-pipeline.yml
|
13736
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"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":5212729,"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":4,"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-13T00:24: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":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
|
68
|
1776066496
|
1776066558
|
0
|
1776066085
|
1776067928
|
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
|