|
23661
|
feat(brand): optimize master prompts with selected feat(brand): optimize master prompts with selected text models...
|
57
|
5
|
governance.yml
|
32
|
5
|
0
|
refs/heads/main
|
956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"71c0bd2a590e07b2a8ba98b631c6d6bfe79b654f","after":"956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/71c0bd2a590e07b2a8ba98b631c6d6bfe79b654f...956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","commits":[{"id":"956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","message":"feat(brand): optimize master prompts with selected text models\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T21:56:17-07:00","added":["apps/api-fastify/test/master-prompt-assistant.test.ts","apps/web/src/components/material-factory/MasterPromptEditor.tsx","docs/governance/log/2026-09-07-master-prompt-sync.md","packages/contracts/src/master-prompt.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/lib/api.ts","packages/contracts/src/material-access.ts","packages/contracts/src/material.ts"]}],"total_commits":0,"head_commit":{"id":"956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","message":"feat(brand): optimize master prompts with selected text models\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/956a97dfb1d1fadbbc3f11dca159a39bf46fa1a3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T21:56:17-07:00","added":["apps/api-fastify/test/master-prompt-assistant.test.ts","apps/web/src/components/material-factory/MasterPromptEditor.tsx","docs/governance/log/2026-09-07-master-prompt-sync.md","packages/contracts/src/master-prompt.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/lib/api.ts","packages/contracts/src/material-access.ts","packages/contracts/src/material.ts"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":291654,"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-07T12:44:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1788756992
|
1788757080
|
0
|
1788756991
|
1788757080
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23607
|
fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 r fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)...
|
54
|
5
|
governance.yml
|
24
|
5
|
0
|
refs/heads/main
|
f17d34a463e70366161f4603e53a4b2800e9a241
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7135258b78d5b623099713b2bd3292af46b6329d","after":"f17d34a463e70366161f4603e53a4b2800e9a241","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/7135258b78d5b623099713b2bd3292af46b6329d...f17d34a463e70366161f4603e53a4b2800e9a241","commits":[{"id":"f17d34a463e70366161f4603e53a4b2800e9a241","message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f17d34a463e70366161f4603e53a4b2800e9a241","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T19:17:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.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","scripts/lib/acceptance-base-guard.mjs"]}],"total_commits":0,"head_commit":{"id":"f17d34a463e70366161f4603e53a4b2800e9a241","message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f17d34a463e70366161f4603e53a4b2800e9a241","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T19:17:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.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","scripts/lib/acceptance-base-guard.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":2940,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-03T10:06:52+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
|
1788401828
|
1788402247
|
0
|
1788401827
|
1788402256
|
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
|
|
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
|
|
23609
|
chore(reports): refresh clean static evidence
|
94
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
42838259c9dc7eb3e7cefaea4565b9350e5e65e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"701b8a173b6b2ce458b720a7a862f0e99d40309f","after":"42838259c9dc7eb3e7cefaea4565b9350e5e65e1","compare_url":"https://gitea.g-hi.com/luoanwu/ai-governance/compare/701b8a173b6b2ce458b720a7a862f0e99d40309f...42838259c9dc7eb3e7cefaea4565b9350e5e65e1","commits":[{"id":"42838259c9dc7eb3e7cefaea4565b9350e5e65e1","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/42838259c9dc7eb3e7cefaea4565b9350e5e65e1","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:33:54-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":"4440ae41a092cb63c5877e7a7df424068bb164bb","message":"chore(reports): record clean framework sync evidence\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/4440ae41a092cb63c5877e7a7df424068bb164bb","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T16:53:58-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":"7735cc545d133c8baa1bc27fecec1709522d760c","message":"chore(migration): record framework sync receipt\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/7735cc545d133c8baa1bc27fecec1709522d760c","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T16:53:09-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/framework-migration.latest.json"]},{"id":"c25ec41f4e18cd7196afe2c1ea67cb1c9abce4ac","message":"feat(framework): sync runtime and CI reliability fixes\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/c25ec41f4e18cd7196afe2c1ea67cb1c9abce4ac","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T16:53:08-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":"a912ae1cd4108c854d0ca40f0adca743855b4c19","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/a912ae1cd4108c854d0ca40f0adca743855b4c19","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T01:29:11-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":"42838259c9dc7eb3e7cefaea4565b9350e5e65e1","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/ai-governance/commit/42838259c9dc7eb3e7cefaea4565b9350e5e65e1","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:33:54-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":94,"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":"ai-governance","full_name":"luoanwu/ai-governance","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":712,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/ai-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/ai-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/ai-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/ai-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/ai-governance.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:56:50+08:00","updated_at":"2026-09-01T21:59: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
|
10
|
1788405481
|
1788405525
|
0
|
1788405480
|
1788407425
|
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
|
|
23618
|
chore(reports): refresh clean static evidence
|
103
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
250a273bcb52ad3580924ad460d094fad2ba24dc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6fd94bb5e6fd13ab0a39517ff61f62fa25f3cc6a","after":"250a273bcb52ad3580924ad460d094fad2ba24dc","compare_url":"https://gitea.g-hi.com/luoanwu/app-gateway/compare/6fd94bb5e6fd13ab0a39517ff61f62fa25f3cc6a...250a273bcb52ad3580924ad460d094fad2ba24dc","commits":[{"id":"250a273bcb52ad3580924ad460d094fad2ba24dc","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/250a273bcb52ad3580924ad460d094fad2ba24dc","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:34:50-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":"9ea72d7f915c9b8ef56a398debe29fe0f3f48d1a","message":"chore(reports): record clean framework sync evidence\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/9ea72d7f915c9b8ef56a398debe29fe0f3f48d1a","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:10:56-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":"bac64c82767b418396cb8e4e1a4bc9d63a77bb6b","message":"chore(migration): record framework sync receipt\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/bac64c82767b418396cb8e4e1a4bc9d63a77bb6b","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:10:12-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/framework-migration.latest.json"]},{"id":"ed0ba1a7b3948bba342b45ae2a4e2c163cbbeb67","message":"feat(framework): sync G15-B Redis occupancy guard and governance experience\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/ed0ba1a7b3948bba342b45ae2a4e2c163cbbeb67","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:10:11-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":"a893450ab4145cc6e99fca6a9be991de6906ffa4","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/a893450ab4145cc6e99fca6a9be991de6906ffa4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T01:30:29-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":"250a273bcb52ad3580924ad460d094fad2ba24dc","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/app-gateway/commit/250a273bcb52ad3580924ad460d094fad2ba24dc","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:34:50-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":103,"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":"app-gateway","full_name":"luoanwu/app-gateway","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":716,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/app-gateway/languages","html_url":"https://gitea.g-hi.com/luoanwu/app-gateway","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/app-gateway","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/app-gateway.git","clone_url":"https://gitea.g-hi.com/luoanwu/app-gateway.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:07+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
|
2
|
10
|
1788405868
|
1788405910
|
0
|
1788405495
|
1788407510
|
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
|
|
17746
|
Unblock docker-compose.prod.yml validation by remo Unblock docker-compose.prod.yml validation by removing replicas:2...
|
6
|
5
|
ci.yml
|
17667
|
5
|
0
|
refs/heads/main
|
c04c1f61a7ca64acf31ed914678656d87ed6e35f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6f30ee7954e6142227f44fbcb36106e5ce6018eb","after":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6f30ee7954e6142227f44fbcb36106e5ce6018eb...c04c1f61a7ca64acf31ed914678656d87ed6e35f","commits":[{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]}],"total_commits":0,"head_commit":{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]},"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":5218106,"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":14,"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-27T00:06:37+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
6
|
0
|
1777220519
|
0
|
1777219990
|
1777220519
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17747
|
Unblock docker-compose.prod.yml validation by remo Unblock docker-compose.prod.yml validation by removing replicas:2...
|
6
|
5
|
e2e-tests.yml
|
17668
|
5
|
0
|
refs/heads/main
|
c04c1f61a7ca64acf31ed914678656d87ed6e35f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6f30ee7954e6142227f44fbcb36106e5ce6018eb","after":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6f30ee7954e6142227f44fbcb36106e5ce6018eb...c04c1f61a7ca64acf31ed914678656d87ed6e35f","commits":[{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]}],"total_commits":0,"head_commit":{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]},"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":5218106,"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":14,"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-27T00:06:37+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1777223669
|
1777223828
|
0
|
1777219991
|
1777225003
|
|
|
0
|
Edit
Delete
|
|
17749
|
Unblock docker-compose.prod.yml validation by remo Unblock docker-compose.prod.yml validation by removing replicas:2...
|
6
|
5
|
test-pipeline.yml
|
17669
|
5
|
0
|
refs/heads/main
|
c04c1f61a7ca64acf31ed914678656d87ed6e35f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6f30ee7954e6142227f44fbcb36106e5ce6018eb","after":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6f30ee7954e6142227f44fbcb36106e5ce6018eb...c04c1f61a7ca64acf31ed914678656d87ed6e35f","commits":[{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]}],"total_commits":0,"head_commit":{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]},"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":5218106,"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":14,"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-27T00:06:37+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
24
|
0
|
1777220521
|
0
|
1777220000
|
1777220526
|
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
|
|
17750
|
Unblock docker-compose.prod.yml validation by remo Unblock docker-compose.prod.yml validation by removing replicas:2...
|
6
|
5
|
health-check.yml
|
17671
|
-2
|
301
|
refs/heads/main
|
c04c1f61a7ca64acf31ed914678656d87ed6e35f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6f30ee7954e6142227f44fbcb36106e5ce6018eb","after":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6f30ee7954e6142227f44fbcb36106e5ce6018eb...c04c1f61a7ca64acf31ed914678656d87ed6e35f","commits":[{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]}],"total_commits":0,"head_commit":{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]},"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":5218106,"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":14,"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-27T00:06:37+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777223830
|
1777223830
|
0
|
1777220150
|
1777223830
|
|
|
0
|
Edit
Delete
|
|
17751
|
Unblock docker-compose.prod.yml validation by remo Unblock docker-compose.prod.yml validation by removing replicas:2...
|
6
|
5
|
health-check.yml
|
17672
|
-2
|
301
|
refs/heads/main
|
c04c1f61a7ca64acf31ed914678656d87ed6e35f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6f30ee7954e6142227f44fbcb36106e5ce6018eb","after":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6f30ee7954e6142227f44fbcb36106e5ce6018eb...c04c1f61a7ca64acf31ed914678656d87ed6e35f","commits":[{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]}],"total_commits":0,"head_commit":{"id":"c04c1f61a7ca64acf31ed914678656d87ed6e35f","message":"Unblock docker-compose.prod.yml validation by removing replicas:2\n\n`docker compose -f docker-compose.prod.yml config` was failing with:\n\n services.deploy.replicas: can't set container_name and api as\n container name must be unique: invalid compose project\n\nThe api service had both `container_name: juhi-api` (relied on by\nscripts/deploy.sh:294 and scripts/post-deploy-verify.sh:39) and\n`deploy.replicas: 2`. Compose v2 rejects this combination because\nit can't give two replicas the same fixed name.\n\n`deploy.replicas` is also silently ignored in non-Swarm Compose mode,\nso this directive was aspirational rather than effective. The actual\nmulti-replica path in this repo is docker-compose.ha.yml.\n\nRemoved the `replicas: 2` line and added a comment explaining the\ntrade-off; kept resources/update_config/rollback_config for Swarm/K8s\ntranslation.\n\nVerified: `docker compose --env-file \u003cstub\u003e -f docker-compose.prod.yml\nconfig` now exits 0 with no warnings.\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/c04c1f61a7ca64acf31ed914678656d87ed6e35f","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T09:13:05-07:00","added":[],"removed":[],"modified":["docker-compose.prod.yml"]},"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":5218106,"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":14,"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-27T00:06:37+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777223832
|
1777223832
|
0
|
1777220450
|
1777223832
|
|
|
0
|
Edit
Delete
|
|
23844
|
docs: add complete platform capability inventory a docs: add complete platform capability inventory and acceptance criteria...
|
116
|
5
|
platform.yml
|
2
|
5
|
0
|
refs/heads/main
|
9e588cc087e5db550b59abfa7a9733ecb99d1eb6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6e6c5f08e73c780cc513af142901d8fc5d2cd1d4","after":"9e588cc087e5db550b59abfa7a9733ecb99d1eb6","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6e6c5f08e73c780cc513af142901d8fc5d2cd1d4...9e588cc087e5db550b59abfa7a9733ecb99d1eb6","commits":[{"id":"9e588cc087e5db550b59abfa7a9733ecb99d1eb6","message":"docs: add complete platform capability inventory and acceptance criteria\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9e588cc087e5db550b59abfa7a9733ecb99d1eb6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T16:46:01-07:00","added":["docs/项目完整能力表.md"],"removed":[],"modified":["CLAUDE.md","README.md"]}],"total_commits":0,"head_commit":{"id":"9e588cc087e5db550b59abfa7a9733ecb99d1eb6","message":"docs: add complete platform capability inventory and acceptance criteria\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9e588cc087e5db550b59abfa7a9733ecb99d1eb6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T16:46:01-07:00","added":["docs/项目完整能力表.md"],"removed":[],"modified":["CLAUDE.md","README.md"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1400,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-11T07:34: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
|
12
|
1789083976
|
1789083989
|
0
|
1789083974
|
1789083998
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23851
|
merge: complete script entities and storyboard vis merge: complete script entities and storyboard visual imports...
|
57
|
5
|
governance.yml
|
201
|
5
|
0
|
refs/heads/main
|
ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6db56b78988de896e5c5744828a0ad67ed186fdb","after":"ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6db56b78988de896e5c5744828a0ad67ed186fdb...ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","commits":[{"id":"ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","message":"merge: complete script entities and storyboard visual imports\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:52:09-07:00","added":["apps/api-fastify/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-fastify/test/script-entity.integration.test.ts","apps/api-nestjs/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-nestjs/test/script-entity.integration.test.ts","apps/web/src/components/material-factory/ScriptEntityBindings.tsx","apps/web/src/components/material-factory/ScriptEntityCorrections.tsx","apps/web/src/components/material-factory/ScriptEntityDetails.tsx","apps/web/src/components/material-factory/StoryboardEntitySummary.tsx","docs/governance/log/2026-09-11-script-entity-upgrade.md","docs/releases/migrations/2026-09-11-script-entity-settings.json","packages/contracts/src/script-entity.test.ts","packages/contracts/src/script-entity.ts","reports/script-entity-upgrade-2026-09-11/README.md","reports/script-entity-upgrade-2026-09-11/desktop.png","reports/script-entity-upgrade-2026-09-11/mobile.png","reports/script-entity-upgrade-2026-09-11/release-acceptance.json","reports/script-entity-upgrade-2026-09-11/result.json","reports/script-entity-upgrade-2026-09-11/storyboard-import-desktop.png","reports/script-entity-upgrade-2026-09-11/storyboard-import-mobile.png","scripts/check-script-entity-ui.cjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/shooting-script.controller.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StoryboardScriptImport.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/storyboard-visual-assets.ts","apps/web/src/lib/api.ts","deploy/vm/release.py","deploy/vm/release_test.py","docs/domain-glossary.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard-frame.ts","packages/contracts/src/storyboard-image.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/storyboard.ts","reports/dependency-audit.latest.json","reports/inference-acceptance.latest.json","reports/production-acceptance.latest.json","reports/public-file-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json","scripts/migration-history.json","scripts/storyboard-visual-assets.test.mjs"]},{"id":"a72f880e101039c4a3b3f4ff1fd40c25094a10ab","message":"test(script): record verified entity upgrade release gates\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a72f880e101039c4a3b3f4ff1fd40c25094a10ab","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:51:51-07:00","added":["reports/script-entity-upgrade-2026-09-11/release-acceptance.json"],"removed":[],"modified":["CLAUDE.md","reports/dependency-audit.latest.json","reports/inference-acceptance.latest.json","reports/production-acceptance.latest.json","reports/public-file-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/script-acceptance.latest.json","reports/script-entity-upgrade-2026-09-11/README.md","reports/ui-acceptance.latest.json"]},{"id":"4d4b6ef531b2e9746c58f73e58f622bb72b31424","message":"fix(storyboard): preserve locally filled images on entity reimport\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4d4b6ef531b2e9746c58f73e58f622bb72b31424","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:32:51-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/storyboard-visual-assets.ts","reports/script-entity-upgrade-2026-09-11/README.md","reports/script-entity-upgrade-2026-09-11/storyboard-import-desktop.png","reports/script-entity-upgrade-2026-09-11/storyboard-import-mobile.png","scripts/check-script-entity-ui.cjs","scripts/storyboard-visual-assets.test.mjs"]},{"id":"4919175af9dfba8c9765a8118c38b373f7573aa1","message":"merge: retain latest scene asset work in entity upgrade\n\n# Conflicts:\n#\tCLAUDE.md\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4919175af9dfba8c9765a8118c38b373f7573aa1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:30:41-07:00","added":["docs/governance/log/2026-09-10-shijie-scene-assets.md","docs/releases/2026-09-10-shijie-assets1.md","docs/releases/2026-09-10-shijie-shots1.md","reports/shijie-scene-assets-2026-09-10/acceptance.json","reports/shijie-scene-assets-2026-09-10/browser-deployed.json","reports/shijie-scene-assets-2026-09-10/deployment.json","reports/shijie-scene-assets-2026-09-10/desktop.png","reports/shijie-scene-assets-2026-09-10/mobile-assets.png","reports/shijie-scene-assets-2026-09-10/mobile-contact.png","reports/shijie-scene-assets-2026-09-10/mobile.png","reports/shijie-scene-assets-2026-09-10/ui.json","reports/shijie-shot-workbench-2026-09-10/browser-deployed.json","reports/shijie-shot-workbench-2026-09-10/deployment.json","reports/shijie-shot-workbench-2026-09-10/failure-analysis.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/shijie/ShijieStudio.tsx","docs/governance/log/2026-09-10-shijie-shot-workbench.md","docs/releases/current.md","packages/contracts/src/shijie.ts","packages/shijie-domain/src/domain.test.ts","packages/shijie-domain/src/index.ts","packages/shijie-domain/src/shot-builder.ts","reports/governance-docs.latest.json","scripts/check-shijie-generation-ui.cjs","scripts/lib/shijie-model-fixture.cjs"]},{"id":"c8c616eecca1137d39523e1bf7b41d78fef19e89","message":"feat(script): complete entity settings and storyboard visual imports\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/c8c616eecca1137d39523e1bf7b41d78fef19e89","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:29:53-07:00","added":["apps/api-fastify/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-fastify/test/script-entity.integration.test.ts","apps/api-nestjs/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-nestjs/test/script-entity.integration.test.ts","apps/web/src/components/material-factory/ScriptEntityBindings.tsx","apps/web/src/components/material-factory/ScriptEntityCorrections.tsx","apps/web/src/components/material-factory/ScriptEntityDetails.tsx","apps/web/src/components/material-factory/StoryboardEntitySummary.tsx","docs/governance/log/2026-09-11-script-entity-upgrade.md","docs/releases/migrations/2026-09-11-script-entity-settings.json","packages/contracts/src/script-entity.test.ts","packages/contracts/src/script-entity.ts","reports/script-entity-upgrade-2026-09-11/README.md","reports/script-entity-upgrade-2026-09-11/desktop.png","reports/script-entity-upgrade-2026-09-11/mobile.png","reports/script-entity-upgrade-2026-09-11/result.json","reports/script-entity-upgrade-2026-09-11/storyboard-import-desktop.png","reports/script-entity-upgrade-2026-09-11/storyboard-import-mobile.png","scripts/check-script-entity-ui.cjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/shooting-script.controller.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StoryboardScriptImport.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/storyboard-visual-assets.ts","apps/web/src/lib/api.ts","deploy/vm/release.py","deploy/vm/release_test.py","docs/domain-glossary.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard-frame.ts","packages/contracts/src/storyboard-image.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/storyboard.ts","scripts/migration-history.json","scripts/storyboard-visual-assets.test.mjs"]}],"total_commits":0,"head_commit":{"id":"ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","message":"merge: complete script entities and storyboard visual imports\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ad746899f4dda6cb8a0c7dbbe3dee2a50d77d1d5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T20:52:09-07:00","added":["apps/api-fastify/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-fastify/test/script-entity.integration.test.ts","apps/api-nestjs/prisma/migrations/20260911010000_script_entity_settings/migration.sql","apps/api-nestjs/test/script-entity.integration.test.ts","apps/web/src/components/material-factory/ScriptEntityBindings.tsx","apps/web/src/components/material-factory/ScriptEntityCorrections.tsx","apps/web/src/components/material-factory/ScriptEntityDetails.tsx","apps/web/src/components/material-factory/StoryboardEntitySummary.tsx","docs/governance/log/2026-09-11-script-entity-upgrade.md","docs/releases/migrations/2026-09-11-script-entity-settings.json","packages/contracts/src/script-entity.test.ts","packages/contracts/src/script-entity.ts","reports/script-entity-upgrade-2026-09-11/README.md","reports/script-entity-upgrade-2026-09-11/desktop.png","reports/script-entity-upgrade-2026-09-11/mobile.png","reports/script-entity-upgrade-2026-09-11/release-acceptance.json","reports/script-entity-upgrade-2026-09-11/result.json","reports/script-entity-upgrade-2026-09-11/storyboard-import-desktop.png","reports/script-entity-upgrade-2026-09-11/storyboard-import-mobile.png","scripts/check-script-entity-ui.cjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/shooting-script.controller.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StoryboardScriptImport.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/storyboard-visual-assets.ts","apps/web/src/lib/api.ts","deploy/vm/release.py","deploy/vm/release_test.py","docs/domain-glossary.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard-frame.ts","packages/contracts/src/storyboard-image.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/storyboard.ts","reports/dependency-audit.latest.json","reports/inference-acceptance.latest.json","reports/production-acceptance.latest.json","reports/public-file-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json","scripts/migration-history.json","scripts/storyboard-visual-assets.test.mjs"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":901978,"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":12,"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-11T11:23: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
|
4
|
1789098737
|
1789098827
|
0
|
1789098735
|
1789098827
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23646
|
test(reports): 归档对抗审计第二轮证据日志并刷新主分支门禁报告
|
57
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
acd2accfb017c5b4e3f7ff5f00f33dd367797889
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d8783033df4e606323fc0e81180e217f4f47007","after":"acd2accfb017c5b4e3f7ff5f00f33dd367797889","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6d8783033df4e606323fc0e81180e217f4f47007...acd2accfb017c5b4e3f7ff5f00f33dd367797889","commits":[{"id":"acd2accfb017c5b4e3f7ff5f00f33dd367797889","message":"test(reports): 归档对抗审计第二轮证据日志并刷新主分支门禁报告\n\n- 对抗审计第二轮(reports/adversarial-audit-2026-09-05-round2)的 24 份证据日志按既有审计目录惯例强制入库:\n 路由大小写探针、权限映射探针、修复前后 route-shape / guard / contracts 复验、四次 check:runtime、\n 部署前后状态与 16 项线上边界探针、操作者部署终端摘录、三次 pnpm check(含主分支 6d87830 提交后的 precommit 复核,43 项脚本自测通过)。\n- 刷新 reports/*.latest.json:与主分支 6d87830 同一棵树上的静态门禁与治理棘轮结果(heavyGateDocDrift 0)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/acd2accfb017c5b4e3f7ff5f00f33dd367797889","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T20:34:33-07:00","added":["reports/adversarial-audit-2026-09-05-round2/check-runtime-final.log","reports/adversarial-audit-2026-09-05-round2/check-runtime-final2.log","reports/adversarial-audit-2026-09-05-round2/check-runtime-followup.log","reports/adversarial-audit-2026-09-05-round2/check-runtime.log","reports/adversarial-audit-2026-09-05-round2/contracts-material-access-after-fix.log","reports/adversarial-audit-2026-09-05-round2/contracts-permission-probe-before-fix.log","reports/adversarial-audit-2026-09-05-round2/deploy-after.log","reports/adversarial-audit-2026-09-05-round2/deploy-before.log","reports/adversarial-audit-2026-09-05-round2/deploy-user-run.log","reports/adversarial-audit-2026-09-05-round2/deployed-bff-origin-probe.log","reports/adversarial-audit-2026-09-05-round2/deployed-surface-probe.log","reports/adversarial-audit-2026-09-05-round2/fastify-full-suite-rerun.log","reports/adversarial-audit-2026-09-05-round2/fastify-http-acceptance-after-cas-fix.log","reports/adversarial-audit-2026-09-05-round2/fastify-http-orders-runscoped.log","reports/adversarial-audit-2026-09-05-round2/fastify-route-shape.log","reports/adversarial-audit-2026-09-05-round2/fastify-trust-route-shape-after-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-http-acceptance-after-cas-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-leases-http-orders-runscoped.log","reports/adversarial-audit-2026-09-05-round2/nestjs-route-shape-after-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-route-shape-before-fix.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-final.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-followup.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-precommit.log","reports/adversarial-audit-2026-09-05-round2/route-case-probe.log"],"removed":[],"modified":["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/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"acd2accfb017c5b4e3f7ff5f00f33dd367797889","message":"test(reports): 归档对抗审计第二轮证据日志并刷新主分支门禁报告\n\n- 对抗审计第二轮(reports/adversarial-audit-2026-09-05-round2)的 24 份证据日志按既有审计目录惯例强制入库:\n 路由大小写探针、权限映射探针、修复前后 route-shape / guard / contracts 复验、四次 check:runtime、\n 部署前后状态与 16 项线上边界探针、操作者部署终端摘录、三次 pnpm check(含主分支 6d87830 提交后的 precommit 复核,43 项脚本自测通过)。\n- 刷新 reports/*.latest.json:与主分支 6d87830 同一棵树上的静态门禁与治理棘轮结果(heavyGateDocDrift 0)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/acd2accfb017c5b4e3f7ff5f00f33dd367797889","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T20:34:33-07:00","added":["reports/adversarial-audit-2026-09-05-round2/check-runtime-final.log","reports/adversarial-audit-2026-09-05-round2/check-runtime-final2.log","reports/adversarial-audit-2026-09-05-round2/check-runtime-followup.log","reports/adversarial-audit-2026-09-05-round2/check-runtime.log","reports/adversarial-audit-2026-09-05-round2/contracts-material-access-after-fix.log","reports/adversarial-audit-2026-09-05-round2/contracts-permission-probe-before-fix.log","reports/adversarial-audit-2026-09-05-round2/deploy-after.log","reports/adversarial-audit-2026-09-05-round2/deploy-before.log","reports/adversarial-audit-2026-09-05-round2/deploy-user-run.log","reports/adversarial-audit-2026-09-05-round2/deployed-bff-origin-probe.log","reports/adversarial-audit-2026-09-05-round2/deployed-surface-probe.log","reports/adversarial-audit-2026-09-05-round2/fastify-full-suite-rerun.log","reports/adversarial-audit-2026-09-05-round2/fastify-http-acceptance-after-cas-fix.log","reports/adversarial-audit-2026-09-05-round2/fastify-http-orders-runscoped.log","reports/adversarial-audit-2026-09-05-round2/fastify-route-shape.log","reports/adversarial-audit-2026-09-05-round2/fastify-trust-route-shape-after-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-http-acceptance-after-cas-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-leases-http-orders-runscoped.log","reports/adversarial-audit-2026-09-05-round2/nestjs-route-shape-after-fix.log","reports/adversarial-audit-2026-09-05-round2/nestjs-route-shape-before-fix.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-final.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-followup.log","reports/adversarial-audit-2026-09-05-round2/pnpm-check-precommit.log","reports/adversarial-audit-2026-09-05-round2/route-case-probe.log"],"removed":[],"modified":["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/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":283836,"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-06T11:29:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788665682
|
1788665721
|
0
|
1788665681
|
1788665721
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23418
|
C64f:UI 编排失败判责输出 + CI 跳过 macOS 视觉基线 + 失败工件上传
|
60
|
5
|
governance.yml
|
8
|
5
|
0
|
refs/heads/main
|
a7536ce9426fa12786e46db761420ec63c26b09d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d7311f3c50d0894683ed1b0681f23bde45a35c4","after":"a7536ce9426fa12786e46db761420ec63c26b09d","compare_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/compare/6d7311f3c50d0894683ed1b0681f23bde45a35c4...a7536ce9426fa12786e46db761420ec63c26b09d","commits":[{"id":"a7536ce9426fa12786e46db761420ec63c26b09d","message":"C64f:UI 编排失败判责输出 + CI 跳过 macOS 视觉基线 + 失败工件上传\n\n- check-ui-acceptance 失败步补打 stdout 尾巴(playwright 细节在 stdout)\n- 4 张视觉基线为 macOS chromium 生成,CI Linux 中文字体渲染差异远超容差\n (跨平台结构性差异非回归):UI_SKIP_VISUAL_BASELINES=true 显式跳过截图\n 断言(DOM/契约断言照跑),本机默认不跳、check:lyra-parity 继续守护基线\n- workflow 失败时上传 reports + playwright traces 工件(远端判责不再盲抓)\n- 本机回归:check:ui 34/34(视觉基线照跑)、lyra-parity 绿\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/a7536ce9426fa12786e46db761420ec63c26b09d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T00:02:33-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","apps/web/e2e/lyra-studio.spec.ts","reports/lyra-prototype-parity.latest.json","reports/ui-acceptance.latest.json","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"a7536ce9426fa12786e46db761420ec63c26b09d","message":"C64f:UI 编排失败判责输出 + CI 跳过 macOS 视觉基线 + 失败工件上传\n\n- check-ui-acceptance 失败步补打 stdout 尾巴(playwright 细节在 stdout)\n- 4 张视觉基线为 macOS chromium 生成,CI Linux 中文字体渲染差异远超容差\n (跨平台结构性差异非回归):UI_SKIP_VISUAL_BASELINES=true 显式跳过截图\n 断言(DOM/契约断言照跑),本机默认不跳、check:lyra-parity 继续守护基线\n- workflow 失败时上传 reports + playwright traces 工件(远端判责不再盲抓)\n- 本机回归:check:ui 34/34(视觉基线照跑)、lyra-parity 绿\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/a7536ce9426fa12786e46db761420ec63c26b09d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T00:02:33-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","apps/web/e2e/lyra-studio.spec.ts","reports/lyra-prototype-parity.latest.json","reports/ui-acceptance.latest.json","scripts/check-ui-acceptance.mjs"]},"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":3866,"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-14T14:49:27+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
|
1784012560
|
1784012617
|
0
|
1784012558
|
1784012617
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23941
|
feat(governance): G-12 local release bypass, used feat(governance): G-12 local release bypass, used once for the rc.2 train...
|
116
|
5
|
platform.yml
|
54
|
5
|
0
|
refs/heads/main
|
d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d3900abae6fc251b39e4bebcaa74190e25774bb","after":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6d3900abae6fc251b39e4bebcaa74190e25774bb...d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","commits":[{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]}],"total_commits":0,"head_commit":{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":13159,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":30,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-14T12:42:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789362254
|
1789362293
|
0
|
1789362252
|
1789362321
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23945
|
docs(ops): record the 2026-09-14 service restart
|
57
|
5
|
governance.yml
|
226
|
5
|
0
|
refs/heads/main
|
9f02b16c4968771143aee412b6f58291cbbe9dfb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d311a68c7d30ec257cc1316a3fb3cb57699ed00","after":"9f02b16c4968771143aee412b6f58291cbbe9dfb","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6d311a68c7d30ec257cc1316a3fb3cb57699ed00...9f02b16c4968771143aee412b6f58291cbbe9dfb","commits":[{"id":"9f02b16c4968771143aee412b6f58291cbbe9dfb","message":"docs(ops): record the 2026-09-14 service restart\n\nRestarted the six application containers in place on the user's request,\nkeeping release-20260913-drainability1, its images and every data volume.\nAll five components came back healthy within 12 seconds with the image\nrevision label still equal to the deployed fingerprint; all eleven release\nprobes pass, sidecar healthz ok with paddle-ocr ready, and the creative\nqueue is byte-identical before and after (one pre-existing isolated\nUNKNOWN operation, blockingUnknown=0) with zero QUEUED/RUNNING RenderJob.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/9f02b16c4968771143aee412b6f58291cbbe9dfb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T06:54:00-07:00","added":["docs/governance/log/2026-09-14-service-restart.md","reports/restart-2026-09-14/verification.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"9f02b16c4968771143aee412b6f58291cbbe9dfb","message":"docs(ops): record the 2026-09-14 service restart\n\nRestarted the six application containers in place on the user's request,\nkeeping release-20260913-drainability1, its images and every data volume.\nAll five components came back healthy within 12 seconds with the image\nrevision label still equal to the deployed fingerprint; all eleven release\nprobes pass, sidecar healthz ok with paddle-ocr ready, and the creative\nqueue is byte-identical before and after (one pre-existing isolated\nUNKNOWN operation, blockingUnknown=0) with zero QUEUED/RUNNING RenderJob.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/9f02b16c4968771143aee412b6f58291cbbe9dfb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T06:54:00-07:00","added":["docs/governance/log/2026-09-14-service-restart.md","reports/restart-2026-09-14/verification.json"],"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":969513,"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":15,"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-14T13:46:17+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
|
1789394055
|
1789395088
|
0
|
1789394053
|
1789395088
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23879
|
Merge branch 'main' into codex/ms1-integra Merge branch 'main' into codex/ms1-integration...
|
116
|
5
|
platform.yml
|
13
|
5
|
0
|
refs/heads/main
|
e5aca81c94597d4cb18cc65fa5b0855d4333aaf6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","after":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6c7f04cb97ab7909f083fd60c790ecda34e9b8ee...e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","commits":[{"id":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","message":"Merge branch 'main' into codex/ms1-integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json","runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json","runtime/pnpm-lock.yaml","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]},{"id":"4505ba0e62378d67855a7dbb4d9bbadc935c17b7","message":"fix(ci): build acceptance dependencies and parse colored IdP test counts\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4505ba0e62378d67855a7dbb4d9bbadc935c17b7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["governance/test/acceptance-build.test.mjs","governance/test/acceptance-output.test.mjs","identity/scripts/lib/test-output.mjs","runtime/scripts/lib/acceptance-build.mjs"],"removed":[],"modified":["identity/scripts/check-runtime-acceptance.mjs","runtime/scripts/check-conformance-differential.mjs"]},{"id":"0999ec81ee12d1e42691ff076236e64740316403","message":"test(chaos): PostgreSQL 断连失败关闭用例转实(开发计划 §3A T-3)\n\n- runtime/test/chaos/postgres-disconnect.test.ts:黑盒起真实 NestJS 进程(apps/api-nestjs/dist/src/main.js,与 bootstrap 同一入口),\n 三条 DB 连接串经测试内 TCP 代理转发;cut() 掐断存量连接并拒绝新连接,restore() 恢复。\n 断言:断连后 /api/health 503 且 database=down;写链 POST /api/users 5xx 且恢复后该写不存在(无部分写 / 无幽灵状态);\n 读 GET /api/users 5xx(示例域未声明降级读,不得回空列表冒充成功);无 DB 依赖的 GET /api/platform/modules 仍 200;\n 进程存活(dispatcher 轮询失败不带崩);恢复后健康回 200、新写成功、旧数据完好;子进程日志须含 DB 错误行。\n 缺 DATABASE_URL / REDIS_URL 时整组 skip(不冒充已跑);用例结束删除自建用户、SIGTERM 子进程。\n- fail-closed.test.ts 只留 NATS / OpenBao 两个 pending-dec todo(PG 已转实)。\n- platform-tests devDeps 增 api-nestjs(turbo test 依赖 ^build 先构建应用)与 @types/node。\n\n本机对已迁移库单跑:3/3 绿,boot 520ms,断连期 health=503 write=500 read=500 ops=200、进程存活。真实 DB 验收随后绑定本提交。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0999ec81ee12d1e42691ff076236e64740316403","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:22:57-07:00","added":["runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":["runtime/pnpm-lock.yaml","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]}],"total_commits":0,"head_commit":{"id":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","message":"Merge branch 'main' into codex/ms1-integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json","runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json","runtime/pnpm-lock.yaml","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2907,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T16:18: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
|
22
|
1789201488
|
1789201522
|
0
|
1789201488
|
1789201541
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23400
|
docs(prd): 产品设计PRD v1.1 — 全量PRD初版 + 产品缺失分析扩展
|
51
|
5
|
ci.yml
|
2
|
5
|
0
|
refs/heads/main
|
ad491b380b573d1f4389aa0e3a1aae0eceb467d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6c1f58f4c1c7dce5c443bbe14d34521de581cbf6","after":"ad491b380b573d1f4389aa0e3a1aae0eceb467d8","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/6c1f58f4c1c7dce5c443bbe14d34521de581cbf6...ad491b380b573d1f4389aa0e3a1aae0eceb467d8","commits":[{"id":"ad491b380b573d1f4389aa0e3a1aae0eceb467d8","message":"docs(prd): 产品设计PRD v1.1 — 全量PRD初版 + 产品缺失分析扩展\n\n- 新增《尤克特拉产品设计PRD.md》作为产品设计统摄真源(十三章:定位/市场/用户/商业模式/六步闭环/IA 40屏/13功能域/NFR/数据模型/诚实边界/路线图/风险/附录)\n- v1.1 扩展 §12.2 产品缺失分析:新发现商业化闭环断头四项(付费墙无tier守卫/无支付计费/无自助注册/无改密),\n 含代码证据 + B触点/C数据/D执行/E增长五组缺口 + 按阶段闸门的优先级判定\n- 规模口径锚定 docs-metrics 快照 0a13474(153端点/32模块/64model/40屏),诚实三铁则写入顶部版本块\n- CLAUDE.md 文档索引登记 PRD\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ad491b380b573d1f4389aa0e3a1aae0eceb467d8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-02T03:12:53-07:00","added":["尤克特拉产品设计PRD.md"],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"ad491b380b573d1f4389aa0e3a1aae0eceb467d8","message":"docs(prd): 产品设计PRD v1.1 — 全量PRD初版 + 产品缺失分析扩展\n\n- 新增《尤克特拉产品设计PRD.md》作为产品设计统摄真源(十三章:定位/市场/用户/商业模式/六步闭环/IA 40屏/13功能域/NFR/数据模型/诚实边界/路线图/风险/附录)\n- v1.1 扩展 §12.2 产品缺失分析:新发现商业化闭环断头四项(付费墙无tier守卫/无支付计费/无自助注册/无改密),\n 含代码证据 + B触点/C数据/D执行/E增长五组缺口 + 按阶段闸门的优先级判定\n- 规模口径锚定 docs-metrics 快照 0a13474(153端点/32模块/64model/40屏),诚实三铁则写入顶部版本块\n- CLAUDE.md 文档索引登记 PRD\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ad491b380b573d1f4389aa0e3a1aae0eceb467d8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-02T03:12:53-07:00","added":["尤克特拉产品设计PRD.md"],"removed":[],"modified":["CLAUDE.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":true,"fork":false,"template":false,"mirror":false,"size":6597,"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-02T16:02: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
|
8
|
1782987178
|
1782987297
|
0
|
1782987176
|
1782987297
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23692
|
docs(governance): record web Playwright e2e suite
|
57
|
5
|
governance.yml
|
63
|
5
|
0
|
refs/heads/main
|
277e16585374bda952ebbc5f98f28b24e856ad76
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6c1615de2390282582b75f59b84c9166a124df69","after":"277e16585374bda952ebbc5f98f28b24e856ad76","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6c1615de2390282582b75f59b84c9166a124df69...277e16585374bda952ebbc5f98f28b24e856ad76","commits":[{"id":"277e16585374bda952ebbc5f98f28b24e856ad76","message":"docs(governance): record web Playwright e2e suite\n\nLog the scope, test discipline, verification runs (fresh self-managed\nstacks in dev and production-build mode, rebased onto main) and the\nremaining gaps of the new apps/web Playwright suite. Heavy-gate rows stay\n⚠️ 待复验 as already marked on main; no readiness claim is added.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/277e16585374bda952ebbc5f98f28b24e856ad76","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T08:35:25-07:00","added":["docs/governance/log/2026-09-08-web-playwright-e2e.md"],"removed":[],"modified":[]},{"id":"8d79cf1b5abccfc018e1e02f409f4a2ed5a10f97","message":"test(web): add Playwright end-to-end suite\n\n86 browser and HTTP tests for the workbench, split into onboarding (tenant\nbootstrap), desktop, mobile and api projects. The suite drives the real\nWeb BFF, NestJS API, PostgreSQL, Redis and creative worker; the model sidecar\npoints at an unreachable port so tests assert honest BLOCKED/FAILED states\ninstead of fabricated success. Each test also fails on uncaught page errors\nand unexpected console errors.\n\nThe config manages an isolated stack by default (build API, migrate, start\nAPI + creative worker, start Next in dev or production mode) or reuses a\nrunning stack via E2E_BASE_URL / E2E_API_URL / E2E_TENANT_ID.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8d79cf1b5abccfc018e1e02f409f4a2ed5a10f97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T08:24:18-07:00","added":["apps/web/e2e/README.md","apps/web/e2e/global-setup.ts","apps/web/e2e/onboarding.setup.ts","apps/web/e2e/specs/admin.spec.ts","apps/web/e2e/specs/bff-security.api.spec.ts","apps/web/e2e/specs/brand.spec.ts","apps/web/e2e/specs/content-studio.spec.ts","apps/web/e2e/specs/create-studio.spec.ts","apps/web/e2e/specs/creative-project.spec.ts","apps/web/e2e/specs/edit-studio.spec.ts","apps/web/e2e/specs/landing.spec.ts","apps/web/e2e/specs/navigation.spec.ts","apps/web/e2e/specs/production.spec.ts","apps/web/e2e/specs/script-storyboard.spec.ts","apps/web/e2e/specs/templates.spec.ts","apps/web/e2e/specs/workspace.mobile.spec.ts","apps/web/e2e/stack/api.mjs","apps/web/e2e/stack/shared.mjs","apps/web/e2e/stack/web.mjs","apps/web/e2e/support/api.ts","apps/web/e2e/support/env.ts","apps/web/e2e/support/fixtures.ts","apps/web/e2e/support/workspace.ts","apps/web/playwright.config.ts"],"removed":[],"modified":[]},{"id":"60648fbe143ff1dbc2b0d145ae1a8c87774ca625","message":"chore(web): add @playwright/test and e2e scripts\n\nAdd @playwright/test@1.62.1 as a web devDependency (matching the local runner\nfallback version), register `e2e` scripts at the root and in apps/web, include\ne2e/** and playwright.config.ts in the web typecheck, give the stack launcher\nscripts Node globals in ESLint, and ignore Playwright output directories.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/60648fbe143ff1dbc2b0d145ae1a8c87774ca625","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T08:24:17-07:00","added":[],"removed":[],"modified":["apps/web/.gitignore","apps/web/eslint.config.mjs","apps/web/package.json","apps/web/tsconfig.json","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"277e16585374bda952ebbc5f98f28b24e856ad76","message":"docs(governance): record web Playwright e2e suite\n\nLog the scope, test discipline, verification runs (fresh self-managed\nstacks in dev and production-build mode, rebased onto main) and the\nremaining gaps of the new apps/web Playwright suite. Heavy-gate rows stay\n⚠️ 待复验 as already marked on main; no readiness claim is added.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/277e16585374bda952ebbc5f98f28b24e856ad76","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T08:35:25-07:00","added":["docs/governance/log/2026-09-08-web-playwright-e2e.md"],"removed":[],"modified":[]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":637278,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T23:36:14+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1788881832
|
1788881924
|
0
|
1788881829
|
1788881924
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23491
|
chore(reports): 刷新治理证据,绑定提交 fe9a6ae——三级首次 clean-bo chore(reports): 刷新治理证据,绑定提交 fe9a6ae——三级首次 clean-bound...
|
74
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
a369f4ee008c621f3ef5ada67880cb52a9ad7c9b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6b3be1dafc25b3d82703595f7542769eae6b7744","after":"a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","compare_url":"https://gitea.g-hi.com/luoanwu/haimate/compare/6b3be1dafc25b3d82703595f7542769eae6b7744...a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","commits":[{"id":"a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","message":"chore(reports): 刷新治理证据,绑定提交 fe9a6ae——三级首次 clean-bound\n\n本次刷新的三级证据 provenance 均为 gitSha=fe9a6ae + worktreeDirty=false,\n是本仓第一次在 clean 检出点上取得完整三级绿盘(此前所有轮次都是 dirty 工作区)。\n按发布口径表严格解读,可宣称「本地在 commit fe9a6ae 这一 clean 检出点通过三级门禁」,\n仍不可外推为「远端已发布」或「远端 CI 已拦截」(G14 仍 OPEN)。\n\n- 静态 pnpm check 23:37Z 16 道门禁 + 棘轮 + lint + typecheck 全绿\n- 真实 DB check:runtime 23:38Z status=passed, 380 tests / 0 failures (floor 380)\n- 浏览器 check:ui 23:39Z status=passed, 14 用例 / 0 unexpected (floor 14)\n- 门禁对抗探针 probe:gates 11/11 挡下,并用三项元测试反证该套件本身会失败\n\nCLAUDE.md 动态区同步:\n- 发布快照按实更正。本快照在一个 session 内过期四次\n (66f0513 → b0d8e83 → 6b3be1d → a0563c4 → fe9a6ae),并实测遇到远端 503 不可达——\n 据此补记:发布状态只能实时 ls-remote 判定,远端不可达时只能声明\n 「最后一次成功验证的时刻与结果」,不得含糊成「当前已对齐」。\n- 证据新鲜度段标注三级 clean-bound,并新增 probe:gates 一行。\n- 真源地图「状态迁移并发写入」条按实改为 22 条 updateMany + 10 条 raw SQL,\n 写明 raw SQL 是受检的逃生阀而非免检通道。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:41:22-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/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/outbox-lease.latest.json","reports/owner-matrix.latest.json","reports/partner-truth.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/security-boundary.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"fe9a6ae90e99138fc09be0f7b2e75971b51f1275","message":"feat(governance): 固化对抗探针 pnpm probe:gates,把三类攻破路径变成可重复执行\n\n手工做负向测试不可靠且不可重复。本次把对抗性验收当天用到的攻击手法固化为\n11 条探针(scripts/adversarial-probes.mjs),覆盖三类攻破路径:\n- negative:注入真违规,门禁必须报红(证明有牙)\n- vacuous :破坏门禁的输入定位(改表格列数 / 改被扫描的表名),\n 门禁必须报红而不是「检查了 0 项然后通过」(证明关不掉)\n- binding :用无关代码满足泛化断言(unrelated.length \u003e 0 / 注释里写符号名),\n 门禁必须仍然报红(证明断言绑定到被检查对象本身)\n\n设计取舍\n- 刻意不进 pnpm check:它会临时改写源文件,只适合按需运行;\n 结束时逐字节还原现场并还原 latest 报告,探针产生的污染报告不进证据链\n- 锚点失效单独报 ANCHOR-STALE 且 exit 1:源码重构后锚点对不上,\n 意味着该路径本次无人验证,不等于安全——不得当成通过\n\n实测:11 条全部 BLOCKED,被攻破 0、锚点失效 0;运行前后 git status 指纹一致。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/fe9a6ae90e99138fc09be0f7b2e75971b51f1275","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:32:54-07:00","added":["scripts/adversarial-probes.mjs"],"removed":[],"modified":["CLAUDE.md","package.json"]},{"id":"a0563c40434d93ba1535ce1de39141bdd2b7889a","message":"fix(governance): 门禁空转加固 + 移除审批工单死负载,并回灌空转测试纪律\n\n对抗性验收(2026-08-17)发现「负向测试通过」并不足以证明门禁有牙:\n门禁还可能被**静默关掉**——扫描出 0 项然后宣布通过。两处实测:\n- check:owner-matrix 改表格列数后报「0 行登记,校验通过」\n- check:concurrency-guard 改表名后 raw 写链从 10 条静默降到 5 条仍 exit 0\n两者都是当天刚做完负向测试的门禁。\n\n修复\n- check:owner-matrix 增加 BUILT 行数下溢守卫(地板 25),识别不足即红\n- check:concurrency-guard 的 raw「0 行拒绝」判据绑定到该语句自身的结果变量,\n 避免被无关的 `unrelated.length \u003e 0` 骗过\n- 移除 ApprovalTicket 查询中三处 `include: { toolCalls: true }` 死负载:\n 无组件消费、无测试断言,属白付 JOIN;ToolCall 的读模型消费方按 owner-matrix\n 登记只有 ToolCallsPanel,自行取数\n\n回灌 CLAUDE.md\n- 收尾清单新增「空转测试」与「断言绑定」两条:凡是「扫描出 N 项并逐项断言」的门禁,\n N 本身必须有地板,否则 N=0 是最容易伪造的绿\n- 真源地图补记 10 条 raw SQL 写链为「受检的逃生阀」而非免检通道\n- 发布快照更新至 6b3be1d,并明确区分「已发布」与「已验收」:\n 三级绿盘取自工作区,不等于该提交本身通过门禁\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/a0563c40434d93ba1535ce1de39141bdd2b7889a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:24:24-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/platform/approval-tickets.service.ts","apps/api-nestjs/src/platform/approval-tickets.service.ts","apps/web/src/lib/types.ts","scripts/check-order-concurrency-guard.mjs","scripts/check-owner-matrix.mjs"]}],"total_commits":0,"head_commit":{"id":"a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","message":"chore(reports): 刷新治理证据,绑定提交 fe9a6ae——三级首次 clean-bound\n\n本次刷新的三级证据 provenance 均为 gitSha=fe9a6ae + worktreeDirty=false,\n是本仓第一次在 clean 检出点上取得完整三级绿盘(此前所有轮次都是 dirty 工作区)。\n按发布口径表严格解读,可宣称「本地在 commit fe9a6ae 这一 clean 检出点通过三级门禁」,\n仍不可外推为「远端已发布」或「远端 CI 已拦截」(G14 仍 OPEN)。\n\n- 静态 pnpm check 23:37Z 16 道门禁 + 棘轮 + lint + typecheck 全绿\n- 真实 DB check:runtime 23:38Z status=passed, 380 tests / 0 failures (floor 380)\n- 浏览器 check:ui 23:39Z status=passed, 14 用例 / 0 unexpected (floor 14)\n- 门禁对抗探针 probe:gates 11/11 挡下,并用三项元测试反证该套件本身会失败\n\nCLAUDE.md 动态区同步:\n- 发布快照按实更正。本快照在一个 session 内过期四次\n (66f0513 → b0d8e83 → 6b3be1d → a0563c4 → fe9a6ae),并实测遇到远端 503 不可达——\n 据此补记:发布状态只能实时 ls-remote 判定,远端不可达时只能声明\n 「最后一次成功验证的时刻与结果」,不得含糊成「当前已对齐」。\n- 证据新鲜度段标注三级 clean-bound,并新增 probe:gates 一行。\n- 真源地图「状态迁移并发写入」条按实改为 22 条 updateMany + 10 条 raw SQL,\n 写明 raw SQL 是受检的逃生阀而非免检通道。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/a369f4ee008c621f3ef5ada67880cb52a9ad7c9b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:41:22-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/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/outbox-lease.latest.json","reports/owner-matrix.latest.json","reports/partner-truth.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/security-boundary.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":74,"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":"haimate","full_name":"luoanwu/haimate","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5509,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate/languages","html_url":"https://gitea.g-hi.com/luoanwu/haimate","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haimate.git","clone_url":"https://gitea.g-hi.com/luoanwu/haimate.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-15T06:22:30+08:00","updated_at":"2026-08-18T07:16:57+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
|
8
|
1787010094
|
1787010157
|
0
|
1787010092
|
1787010157
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23731
|
docs(release): record verified trends detail deplo docs(release): record verified trends detail deployment...
|
57
|
5
|
governance.yml
|
102
|
5
|
0
|
refs/heads/main
|
3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6aa559f46b9af7f04282b2a928af87b9905e2cd4","after":"3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6aa559f46b9af7f04282b2a928af87b9905e2cd4...3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","commits":[{"id":"3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","message":"docs(release): record verified trends detail deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T16:20:59-07:00","added":["docs/releases/2026-09-08-trends-detail2.md","reports/industry-trends-detail-2026-09-08/backup-verification.json","reports/industry-trends-detail-2026-09-08/browser-verification.json","reports/industry-trends-detail-2026-09-08/deployed-verify.json","reports/industry-trends-detail-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-industry-trends-detail.md","docs/releases/current.md","reports/industry-trends-detail-2026-09-08/README.md"]}],"total_commits":0,"head_commit":{"id":"3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","message":"docs(release): record verified trends detail deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/3e98c60c0b42dcbf0ecaf8770cf55db804dc81a6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T16:20:59-07:00","added":["docs/releases/2026-09-08-trends-detail2.md","reports/industry-trends-detail-2026-09-08/backup-verification.json","reports/industry-trends-detail-2026-09-08/browser-verification.json","reports/industry-trends-detail-2026-09-08/deployed-verify.json","reports/industry-trends-detail-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-industry-trends-detail.md","docs/releases/current.md","reports/industry-trends-detail-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":703656,"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:07: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
|
1788909677
|
1788909716
|
0
|
1788909675
|
1788909716
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23505
|
docs(governance): 发布状态快照更新为远端三级门禁首次全绿(run 32344601 docs(governance): 发布状态快照更新为远端三级门禁首次全绿(run 32344601896)...
|
76
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
66900427c855e2ce43d634de9c6107dd6e8d1224
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6a3d263e9c83ec102cd45c7a7303926821bf02cf","after":"66900427c855e2ce43d634de9c6107dd6e8d1224","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/6a3d263e9c83ec102cd45c7a7303926821bf02cf...66900427c855e2ce43d634de9c6107dd6e8d1224","commits":[{"id":"66900427c855e2ce43d634de9c6107dd6e8d1224","message":"docs(governance): 发布状态快照更新为远端三级门禁首次全绿(run 32344601896)\n\n两远端 main=6a3d263,GitHub Actions 两 job 全绿;三层 CI 假红判责留档\n(F5 浅克隆 / 干净 checkout 缺 contracts dist / ANSI 彩色数 0)。\nci-gate 保持 OPEN:branch protection + 受控失败 PR 拦截证明未做。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/66900427c855e2ce43d634de9c6107dd6e8d1224","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T00:45:06-07:00","added":[],"removed":[],"modified":["CLAUDE.md","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"]}],"total_commits":0,"head_commit":{"id":"66900427c855e2ce43d634de9c6107dd6e8d1224","message":"docs(governance): 发布状态快照更新为远端三级门禁首次全绿(run 32344601896)\n\n两远端 main=6a3d263,GitHub Actions 两 job 全绿;三层 CI 假红判责留档\n(F5 浅克隆 / 干净 checkout 缺 contracts dist / ANSI 彩色数 0)。\nci-gate 保持 OPEN:branch protection + 受控失败 PR 拦截证明未做。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/66900427c855e2ce43d634de9c6107dd6e8d1224","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T00:45:06-07:00","added":[],"removed":[],"modified":["CLAUDE.md","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"]},"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":1129,"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-20T15:33:56+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1787211910
|
1787211977
|
0
|
1787211909
|
1787211977
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23871
|
docs(ms0): close baseline convergence with registr docs(ms0): close baseline convergence with registry and remote evidence...
|
116
|
5
|
platform.yml
|
8
|
5
|
0
|
refs/heads/main
|
6765c0bf1b8aab56356524c2f8e7512d7bc2eb33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"69e687203ec23bd576dd7610db6d5db1f2197f6e","after":"6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/69e687203ec23bd576dd7610db6d5db1f2197f6e...6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","commits":[{"id":"6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","message":"docs(ms0): close baseline convergence with registry and remote evidence\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:30:19-07:00","added":["docs/MS-0基线收敛完成记录-2026-09-12.md","reports/ms0-baseline.2026-09-12.json"],"removed":[],"modified":[]},{"id":"b20ef37f1214ddfd6f973c165eec67cd24186ae3","message":"fix(contracts): check:local 在独立克隆下可跑——影响图 --workspace-optional 仅包内计算并显式提示,工作区依赖用例显式 skip(云端 public-static WORKSPACE_ROOT_UNRESOLVED;开发计划 §3 PF-06 / G-7 余项)\n\n- loadRegistry 增 workspaceOptional:只在自动探测失败时降级为 workspaceRoot: null,显式 --workspace-root / 环境变量不可用仍失败关闭;validateFileReferences 对 null 根显式抛 WORKSPACE_ROOT_UNRESOLVED\n- check-impact-graph.mjs --workspace-optional:独立克隆(无 基础/ 与 doc/ 祖先,如云端 CI checkout)下以仅包内计算影响图并在 stderr 打印 [WORKSPACE_ROOT_UNRESOLVED] 提示;check / check:impact 不变\n- check:local 使用该旗标;16 个读应用仓文件 / 校验工作区路径 / 依赖真实探测的用例在独立克隆下显式 skip;新增 test/workspace-optional.test.mjs(降级只作用于自动探测、显式根仍失败关闭、CLI 两种模式)\n- 证据:本机 pnpm --dir contracts check:local 91/91、0 skip;scratchpad 独立克隆模拟 exit 0、75 过 / 16 skip / 0 失败;SOURCE.md / README 登记;仓 README / CLAUDE 状态行与修复记录追记同步\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b20ef37f1214ddfd6f973c165eec67cd24186ae3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:26:46-07:00","added":["contracts/test/workspace-optional.test.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json","contracts/scripts/check-impact-graph.mjs","contracts/scripts/governance-linter.mjs","contracts/test/fact-envelope.test.mjs","contracts/test/governance-linter.test.mjs","contracts/test/impact-graph.test.mjs","contracts/test/workspace-root.test.mjs","docs/候选校验与恢复脚本修复记录-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","message":"docs(ms0): close baseline convergence with registry and remote evidence\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:30:19-07:00","added":["docs/MS-0基线收敛完成记录-2026-09-12.md","reports/ms0-baseline.2026-09-12.json"],"removed":[],"modified":[]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2339,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T15:27: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
|
22
|
1789198229
|
1789198380
|
0
|
1789198228
|
1789198479
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23859
|
docs(releases): record verified shijie step action docs(releases): record verified shijie step action deployment...
|
57
|
5
|
governance.yml
|
209
|
5
|
0
|
refs/heads/main
|
a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"69dbb49bb12c466302c096b1a9ddb73d4df06e98","after":"a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/69dbb49bb12c466302c096b1a9ddb73d4df06e98...a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","commits":[{"id":"a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","message":"docs(releases): record verified shijie step action deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-11T22:04:26-07:00","added":["docs/releases/2026-09-12-shijie-actions1.md","reports/shijie-actions-2026-09-12/deployment.json","reports/shijie-actions-2026-09-12/live.json"],"removed":[],"modified":["docs/governance/log/2026-09-12-shijie-actions.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","message":"docs(releases): record verified shijie step action deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a5c6bc1f21ff9ee8c6740b20079b2278d5a0a306","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-11T22:04:26-07:00","added":["docs/releases/2026-09-12-shijie-actions1.md","reports/shijie-actions-2026-09-12/deployment.json","reports/shijie-actions-2026-09-12/live.json"],"removed":[],"modified":["docs/governance/log/2026-09-12-shijie-actions.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":904040,"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":12,"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-12T12:57:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789189487
|
1789189528
|
0
|
1789189485
|
1789189528
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23840
|
chore(reports): refresh clean final static evidenc chore(reports): refresh clean final static evidence...
|
107
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
5a638a9a615f513177534b4c8d7c9e3efbb949a7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"683618a0b8485b375b83109db4fade9ad0b01ee2","after":"5a638a9a615f513177534b4c8d7c9e3efbb949a7","compare_url":"https://gitea.g-hi.com/luoanwu/delivery-platform/compare/683618a0b8485b375b83109db4fade9ad0b01ee2...5a638a9a615f513177534b4c8d7c9e3efbb949a7","commits":[{"id":"5a638a9a615f513177534b4c8d7c9e3efbb949a7","message":"chore(reports): refresh clean final static evidence\n","url":"https://gitea.g-hi.com/luoanwu/delivery-platform/commit/5a638a9a615f513177534b4c8d7c9e3efbb949a7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T18:50:51-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.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":"205f59eac2be9fe7bacf8a4378512de765d6f695","message":"docs: record clean second-wave sync acceptance\n","url":"https://gitea.g-hi.com/luoanwu/delivery-platform/commit/205f59eac2be9fe7bacf8a4378512de765d6f695","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T18:50:17-07:00","added":["reports/agent-adapters.latest.json"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","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/framework-migration.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":"deb4c375b171c9571618c662e10da7e37a6d7a11","message":"chore: sync framework 06b8b98 with target gates preserved\n","url":"https://gitea.g-hi.com/luoanwu/delivery-platform/commit/deb4c375b171c9571618c662e10da7e37a6d7a11","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T18:46:28-07:00","added":[".agents/skills/business-module-intake/SKILL.md","scripts/check-agent-adapters.mjs"],"removed":[],"modified":[".claude/skills/business-module-intake/SKILL.md","CLAUDE.md","README.md","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/conformance.differential.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/UsersPanel.tsx","conformance.matrix.json","docs/framework-migration.md","docs/governance-experience.md","docs/standards/api-standard.md","governance.rules.json","package.json","packages/contracts/src/user.ts","reports/baseline.json","reports/framework-migration.latest.json","scripts/check-governance-profile.mjs","scripts/governance-report.mjs","scripts/lib/acceptance-base-guard.mjs"]}],"total_commits":0,"head_commit":{"id":"5a638a9a615f513177534b4c8d7c9e3efbb949a7","message":"chore(reports): refresh clean final static evidence\n","url":"https://gitea.g-hi.com/luoanwu/delivery-platform/commit/5a638a9a615f513177534b4c8d7c9e3efbb949a7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T18:50:51-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.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":107,"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":"delivery-platform","full_name":"luoanwu/delivery-platform","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":1014,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/delivery-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/delivery-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/delivery-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/delivery-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/delivery-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:15+08:00","updated_at":"2026-09-03T11:18:22+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
|
1789050581
|
1789050611
|
0
|
1789050443
|
1789050638
|
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
|
|
23960
|
feat(hr): emit canonical employment facts and hard feat(hr): emit canonical employment facts and harden database RLS...
|
83
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
a0ebf7769727344892ab96c1240bd809b5791430
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6823a38dc4626db9f396978663efbc2493a1276c","after":"a0ebf7769727344892ab96c1240bd809b5791430","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/6823a38dc4626db9f396978663efbc2493a1276c...a0ebf7769727344892ab96c1240bd809b5791430","commits":[{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4238,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:58: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
|
1789441179
|
1789441205
|
0
|
1789440861
|
1789441206
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23961
|
feat(hr): emit canonical employment facts and hard feat(hr): emit canonical employment facts and harden database RLS...
|
83
|
5
|
platform-governance.yml
|
11
|
5
|
0
|
refs/heads/main
|
a0ebf7769727344892ab96c1240bd809b5791430
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6823a38dc4626db9f396978663efbc2493a1276c","after":"a0ebf7769727344892ab96c1240bd809b5791430","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/6823a38dc4626db9f396978663efbc2493a1276c...a0ebf7769727344892ab96c1240bd809b5791430","commits":[{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4238,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:58: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
|
1
|
8
|
1789441205
|
1789441317
|
0
|
1789440861
|
1789441317
|
|
|
0
|
Edit
Delete
|
|
23942
|
docs(releases): record the block-index1 deployment
|
57
|
5
|
governance.yml
|
223
|
5
|
0
|
refs/heads/main
|
03af8485a034617648b6ab8e8591683d7eab86ce
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68192ddd237389ed9c7bca797b2ff8a31e77b5f0","after":"03af8485a034617648b6ab8e8591683d7eab86ce","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/68192ddd237389ed9c7bca797b2ff8a31e77b5f0...03af8485a034617648b6ab8e8591683d7eab86ce","commits":[{"id":"03af8485a034617648b6ab8e8591683d7eab86ce","message":"docs(releases): record the block-index1 deployment\n\nrelease-20260913-block-index1 is live on d3fbd406 (fingerprint\nf368d571…): five components healthy with restarts=0, 13 backups, no\nschema change, queue healthy before and after, and all 11 boundary\nprobes as expected. The record keeps the two aborted starts — a\nconcurrent second invocation hitting .release-lock, then the preflight\nrefusing on renderRunning=1 until a 15-hour-old wan3.0-video job settled\nSUCCEEDED through a normal poll-on-read. current.md also states that main\nhas since moved to 68192ddd, which is not deployed.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/03af8485a034617648b6ab8e8591683d7eab86ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:27:14-07:00","added":["docs/releases/2026-09-13-block-index1.md"],"removed":[],"modified":["docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"03af8485a034617648b6ab8e8591683d7eab86ce","message":"docs(releases): record the block-index1 deployment\n\nrelease-20260913-block-index1 is live on d3fbd406 (fingerprint\nf368d571…): five components healthy with restarts=0, 13 backups, no\nschema change, queue healthy before and after, and all 11 boundary\nprobes as expected. The record keeps the two aborted starts — a\nconcurrent second invocation hitting .release-lock, then the preflight\nrefusing on renderRunning=1 until a 15-hour-old wan3.0-video job settled\nSUCCEEDED through a normal poll-on-read. current.md also states that main\nhas since moved to 68192ddd, which is not deployed.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/03af8485a034617648b6ab8e8591683d7eab86ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:27:14-07:00","added":["docs/releases/2026-09-13-block-index1.md"],"removed":[],"modified":["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":969477,"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":15,"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-14T12:43:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789363658
|
1789363748
|
0
|
1789363656
|
1789363748
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23838
|
chore(reports): refresh final static evidence
|
108
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
fa567527d297679347044b92de17fb137023d3c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6783ca4379580eab525c27ab8d3cf786ce5a536d","after":"fa567527d297679347044b92de17fb137023d3c4","compare_url":"https://gitea.g-hi.com/luoanwu/permission-platform/compare/6783ca4379580eab525c27ab8d3cf786ce5a536d...fa567527d297679347044b92de17fb137023d3c4","commits":[{"id":"fa567527d297679347044b92de17fb137023d3c4","message":"chore(reports): refresh final static evidence\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/fa567527d297679347044b92de17fb137023d3c4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:15:26-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.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":"61d1a73ede8bc8b08a78f371ca9000e09559125d","message":"docs: record clean commit acceptance\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/61d1a73ede8bc8b08a78f371ca9000e09559125d","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:14:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","reports/agent-adapters.latest.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":"35dc513a312731a1811783615409d877eeee832c","message":"fix: require DEC-032 in candidate admission decisions\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/35dc513a312731a1811783615409d877eeee832c","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:11:15-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/employment-scope-invalidation-blueprint.md","packages/contracts/src/employment-scope-invalidation.test.ts","packages/contracts/src/employment-scope-invalidation.ts"]},{"id":"aff05d43a66c013b8b0c35160b46bb40216809e3","message":"chore(reports): refresh target static evidence\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/aff05d43a66c013b8b0c35160b46bb40216809e3","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:04:40-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.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":"26e2ea85793431aaec135c9136676e7408796fb7","message":"docs: record dirty target sync acceptance and boundaries\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/26e2ea85793431aaec135c9136676e7408796fb7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:04:09-07:00","added":["reports/agent-adapters.latest.json"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","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/framework-migration.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"]}],"total_commits":0,"head_commit":{"id":"fa567527d297679347044b92de17fb137023d3c4","message":"chore(reports): refresh final static evidence\n","url":"https://gitea.g-hi.com/luoanwu/permission-platform/commit/fa567527d297679347044b92de17fb137023d3c4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-04T19:15:26-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.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":1025,"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-03T11:18:23+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1789050508
|
1789050550
|
0
|
1789050438
|
1789050625
|
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
|
|
23874
|
merge: integrate MS-1 release and backup workflow
|
116
|
5
|
platform.yml
|
9
|
5
|
0
|
refs/heads/main
|
99cce601d0afd37f556bc74e98d770ec1ed40271
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6765c0bf1b8aab56356524c2f8e7512d7bc2eb33","after":"99cce601d0afd37f556bc74e98d770ec1ed40271","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6765c0bf1b8aab56356524c2f8e7512d7bc2eb33...99cce601d0afd37f556bc74e98d770ec1ed40271","commits":[{"id":"99cce601d0afd37f556bc74e98d770ec1ed40271","message":"merge: integrate MS-1 release and backup workflow\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/99cce601d0afd37f556bc74e98d770ec1ed40271","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:47:15-07:00","added":[".github/workflows/publish-packages.yml","docs/MS-1发布与接入操作说明.md","governance/prepare-package-release.mjs","governance/publish-rc.mjs","governance/test/package-release.test.mjs","governance/test/pg-dump.test.mjs","governance/test/publish-rc.test.mjs"],"removed":[],"modified":["contracts/package.json","governance/package.json","governance/templates/consumer-governance.yml","governance/test/restore-drill.test.mjs","stack/backup/pg-dump.sh","stack/backup/restore-drill.sh"]},{"id":"fc3780587fee2c864cf181d3cebfd22e88c0de40","message":"feat(ms1): gate RC publication and enable verified backup integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/fc3780587fee2c864cf181d3cebfd22e88c0de40","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:46:38-07:00","added":[".github/workflows/publish-packages.yml","docs/MS-1发布与接入操作说明.md","governance/prepare-package-release.mjs","governance/publish-rc.mjs","governance/test/package-release.test.mjs","governance/test/pg-dump.test.mjs","governance/test/publish-rc.test.mjs"],"removed":[],"modified":["contracts/package.json","governance/package.json","governance/templates/consumer-governance.yml","governance/test/restore-drill.test.mjs","stack/backup/pg-dump.sh","stack/backup/restore-drill.sh"]},{"id":"a95834dc7a5d064c8e66685c41fbdf4ac4ef839a","message":"fix(runtime): Decision API 单测不再静态 import 运行时模块(check:module-imports)\n\napps / packages 只经 PLATFORM_PROFILES 动态装载模块(仓纪律 4);纯函数单测改用 POLICY_UNAVAILABLE 形状端口替身,\n真实 permission-shape 的 200 deny policy-unavailable 由 platform.http.acceptance.test.ts 在装载态验收。\n根 `pnpm check` 在 aa50624 上曾因该 import 在 check:module-imports 报 1 处违规(未入报告提交)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a95834dc7a5d064c8e66685c41fbdf4ac4ef839a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:45:18-07:00","added":[],"removed":[],"modified":["runtime/apps/api-nestjs/test/platform.decision-api.test.ts"]},{"id":"aa50624369b9e9a6a3d50d0d4909e77f621aab31","message":"docs(runtime): record clean commit acceptance @ 98baa5a(M3-4 / S-5 后:runtime 346 / UI 5;地板 346 / 35 / 184)\n\n- 证据新鲜度三行改绑 clean `98baa5a`:真实 DB check:runtime 346 tests / 0 failures(api-nestjs 18 文件 105 例,\n 新增 platform.http.acceptance 3 例 + platform.decision-api 4 例;contracts 增 platform-http 3 例)、UI 5/5、双后端差分 0 差异;\n 共享底座 :55470 `enterprise_platform_acceptance_m34_20260912` + :56379/7。\n- reports/baseline.json 地板收紧:testsPassed 336 → 346,ownTests 32 → 35,ownTestCases 174 → 184。\n- 三份验收报告 provenance.gitSha = 98baa5a、worktreeDirty=false。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/aa50624369b9e9a6a3d50d0d4909e77f621aab31","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:43:25-07:00","added":[],"removed":[],"modified":["runtime/CLAUDE.md","runtime/reports/baseline.json","runtime/reports/conformance-differential.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/ui-acceptance.latest.json"]},{"id":"98baa5a89acdae9886655e8eaa8cae0589e0df20","message":"feat(runtime): Decision API 骨架 + 模块运维视图(开发计划 §3A M3-4 / S-5)\n\n- packages/contracts/src/platform-http.ts:Catalog 已登记契约 permission-decision-api.v1 的 Zod 镜像\n (请求 / 响应 schema 与 contracts/schemas/*.v1.schema.json 逐字段同形;reason_code 枚举与 Catalog 一致,\n 3 例单测用 contracts/examples 正例 + 逐项破坏反例);只登记已登记契约,其余 11 个 HTTP 契约不建 schema。\n- apps/api-nestjs/src/platform/http/permission-decision.{adapter,controller}.ts:POST /api/v1/decisions,\n 鉴权走全局 Guard(401),入参经 ZodValidationPipe + @repo/contracts(400,check:validation 口径),\n 纯函数 evaluateDecisionApi:token 租户 ≠ actor / scope 租户 → tenant-mismatch 不打端口;端口 reasonCode →\n 契约 reason_code(POLICY_UNAVAILABLE / NOT_CONFIGURED → policy-unavailable,NO_TENANT_CONTEXT / INVALID_REQUEST →\n context-invalid,UNKNOWN_ACTION → unknown-action,未知码一律 policy-denied 失败关闭);4 例纯函数单测。\n- apps/api-nestjs/src/platform/http/platform-modules.controller.ts(@Public):GET /api/platform/modules\n (装配模式 + 四端口当前提供方名 + 已装载模块)与 GET /api/platform/modules/:id/health\n ({module,state,status,checks},未装载 404);module-kit PlatformModule 增 health?()(S-5 过渡方案:\n 内核 HealthResponse.checks 写死 database / redis,扩展走框架变更请求 DOC-5)。\n- platform-http.module.ts 进 KERNEL_IMPORTS;HTTP 适配器落装配点而非模块 src/http/(模块包保持框架无关,\n 偏差登记到开发计划 §6)。\n- test/platform.http.acceptance.test.ts:真实 DB 验收 3 例(permission 装载 200 deny policy-unavailable /\n tenant-mismatch / 400 / 401;未装载走内核基束;模块清单 + health + 404)。\n\n静态门禁(runtime pnpm check 14 项 + lint + typecheck)在本提交前的脏树上通过;真实 DB 验收随后绑定本提交。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/98baa5a89acdae9886655e8eaa8cae0589e0df20","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:39:59-07:00","added":["runtime/apps/api-nestjs/src/platform/http/permission-decision.adapter.ts","runtime/apps/api-nestjs/src/platform/http/permission-decision.controller.ts","runtime/apps/api-nestjs/src/platform/http/platform-modules.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/api-nestjs/test/platform.decision-api.test.ts","runtime/apps/api-nestjs/test/platform.http.acceptance.test.ts","runtime/packages/contracts/src/platform-http.test.ts","runtime/packages/contracts/src/platform-http.ts"],"removed":[],"modified":["runtime/apps/api-nestjs/src/app.module.ts","runtime/modules/kit/src/index.ts","runtime/packages/contracts/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"99cce601d0afd37f556bc74e98d770ec1ed40271","message":"merge: integrate MS-1 release and backup workflow\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/99cce601d0afd37f556bc74e98d770ec1ed40271","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T00:47:15-07:00","added":[".github/workflows/publish-packages.yml","docs/MS-1发布与接入操作说明.md","governance/prepare-package-release.mjs","governance/publish-rc.mjs","governance/test/package-release.test.mjs","governance/test/pg-dump.test.mjs","governance/test/publish-rc.test.mjs"],"removed":[],"modified":["contracts/package.json","governance/package.json","governance/templates/consumer-governance.yml","governance/test/restore-drill.test.mjs","stack/backup/pg-dump.sh","stack/backup/restore-drill.sh"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2396,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T15:30:28+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
8
|
0
|
1789199625
|
0
|
1789199282
|
1789199625
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23763
|
docs(release): record verified tenant and multi-br docs(release): record verified tenant and multi-brand deployment...
|
57
|
5
|
governance.yml
|
133
|
5
|
0
|
refs/heads/main
|
53fa1b4450ea66bc3515addc69ea1951eb97d5bf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"673c18ee01c28f82dde973fa961cdb3effbd8359","after":"53fa1b4450ea66bc3515addc69ea1951eb97d5bf","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/673c18ee01c28f82dde973fa961cdb3effbd8359...53fa1b4450ea66bc3515addc69ea1951eb97d5bf","commits":[{"id":"53fa1b4450ea66bc3515addc69ea1951eb97d5bf","message":"docs(release): record verified tenant and multi-brand deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/53fa1b4450ea66bc3515addc69ea1951eb97d5bf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T00:58:43-07:00","added":["docs/releases/2026-09-09-tenants2.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-admin-multitenancy.md","docs/releases/current.md","reports/admin-multitenancy-20260909/README.md","reports/governance-docs.latest.json"]}],"total_commits":0,"head_commit":{"id":"53fa1b4450ea66bc3515addc69ea1951eb97d5bf","message":"docs(release): record verified tenant and multi-brand deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/53fa1b4450ea66bc3515addc69ea1951eb97d5bf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T00:58:43-07:00","added":["docs/releases/2026-09-09-tenants2.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-admin-multitenancy.md","docs/releases/current.md","reports/admin-multitenancy-20260909/README.md","reports/governance-docs.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":770192,"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-09T15:45:46+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788940751
|
1788940842
|
0
|
1788940751
|
1788940842
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23819
|
test: verify the direction and requirement candida test: verify the direction and requirement candidates round...
|
57
|
5
|
governance.yml
|
185
|
5
|
0
|
refs/heads/main
|
80452a1781562b103d1781d7da679128d9583a31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"672a60365549d45bb4f522c4335773425337be8e","after":"80452a1781562b103d1781d7da679128d9583a31","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/672a60365549d45bb4f522c4335773425337be8e...80452a1781562b103d1781d7da679128d9583a31","commits":[{"id":"80452a1781562b103d1781d7da679128d9583a31","message":"test: verify the direction and requirement candidates round\n\nSeven heavy gates plus pnpm check pass on an isolated stack; CLAUDE.md heavy rows re-marked.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/80452a1781562b103d1781d7da679128d9583a31","author":{"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:38:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-guide-candidates-2026-09-10/README.md","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-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-director-guard.latest.json","reports/template-making.1135.png","reports/template-making.1280.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-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":"7d6f6816a636dbf1304b7deac8113c00afdc7558","message":"Merge branch 'main' into feat/content-guide-candidates\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7d6f6816a636dbf1304b7deac8113c00afdc7558","author":{"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:38:37-07:00","added":["docs/releases/2026-09-10-brief-cand2.md"],"removed":[],"modified":["docs/releases/current.md"]},{"id":"23a5b1c9af37f264fd850c04f011541203a892f3","message":"fix(web): do not read act.isPending inside the auto candidate paths\n\nThe debounced BRIEF/GUIDE submissions run inside the mutation, where the\npending flag is already true, so the guard could silently skip the request.\npendingKey and the live-operation checks remain; the manual buttons are still\ndisabled while busy. Reported by the illustration-descriptions session's UI gate.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/23a5b1c9af37f264fd850c04f011541203a892f3","author":{"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:22:25-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/ContentStudio.tsx"]},{"id":"b65c69223011d7c1951702204aa51a0982f1a859","message":"Merge branch 'main' into feat/content-guide-candidates\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/b65c69223011d7c1951702204aa51a0982f1a859","author":{"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:20:07-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-brief-candidates-2026-09-09/README.md","reports/content-detail.images-desktop.png","reports/content-detail.plans-desktop.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/director-workbench.desktop.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-asset-dialog.mobile.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1440.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-saved-master.SCENE.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"69834fbb080441aaabd2f441a35377fc52133ea6","message":"feat(content): propose direction and writing-requirement candidates from the brief\n\nEntering 内容方向 with an empty direction submits one GUIDE content task per\nproject (brand required, explicit re-run button). Both backends keep only\nusable directions (1-5, object entries flattened, deduped, length-capped) and\nrequirements (0-5) via the shared contentGuideSuggestionSchema; nothing usable\nis a 422. The candidate dialog offers one direction (radio) and any\nrequirements (checkboxes); adoption saves a 采用内容方向候选 revision and\nfills the step's 本次创作要求 without replacing existing text.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/69834fbb080441aaabd2f441a35377fc52133ea6","author":{"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:20:07-07:00","added":["docs/governance/log/2026-09-10-content-guide-candidates.md","reports/content-guide-candidates-2026-09-10/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":"80452a1781562b103d1781d7da679128d9583a31","message":"test: verify the direction and requirement candidates round\n\nSeven heavy gates plus pnpm check pass on an isolated stack; CLAUDE.md heavy rows re-marked.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/80452a1781562b103d1781d7da679128d9583a31","author":{"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:38:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-guide-candidates-2026-09-10/README.md","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-1440.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-director-guard.latest.json","reports/template-making.1135.png","reports/template-making.1280.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-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":782184,"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:30:28+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789015147
|
1789015238
|
0
|
1789015145
|
1789015238
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23490
|
chore(reports): 刷新治理证据,绑定提交 b0d8e83
|
74
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
6b3be1dafc25b3d82703595f7542769eae6b7744
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"66f0513cfb65a0eb27fe77ff8b5bd158c0901623","after":"6b3be1dafc25b3d82703595f7542769eae6b7744","compare_url":"https://gitea.g-hi.com/luoanwu/haimate/compare/66f0513cfb65a0eb27fe77ff8b5bd158c0901623...6b3be1dafc25b3d82703595f7542769eae6b7744","commits":[{"id":"6b3be1dafc25b3d82703595f7542769eae6b7744","message":"chore(reports): 刷新治理证据,绑定提交 b0d8e83\n\n三级门禁在 b0d8e83 上重跑后的报告:\n- pnpm check exit 0(16 项静态门禁)\n- check:runtime passed:380 tests / 0 failures\n- check:ui passed:14 用例 / 0 失败\n\n诚实标注:provenance 的 worktreeDirty 仍为 true。原因不是本提交遗漏了文件,\n而是**同一工作区存在并发会话**,其在制品(CLAUDE.md、两端 approval-tickets.service、\nweb/src/lib/types.ts、check-order-concurrency-guard.mjs、check-owner-matrix.mjs)\n在重跑期间处于未提交状态,已刻意不纳入本提交。\n\n因此本组报告只能宣称「本地工作区(含上述并发在制品)在 2026-08-17 通过三级门禁」,\n不得外推为 clean checkout 通过、远端已发布或 CI 已拦截。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/6b3be1dafc25b3d82703595f7542769eae6b7744","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:16:17-07:00","added":["reports/outbox-lease.latest.json","reports/partner-truth.latest.json","reports/security-boundary.latest.json"],"removed":[],"modified":["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/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/owner-matrix.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"b0d8e837396f6e0f15c0ceeb46b236f14f40f5c9","message":"feat: 合并提交长期未落库的批次——Finance Phase A、安全边界、outbox 租约与 crew 雇佣纵切\n\n本次是一次「补提交」:工作区此前累积了大量从未进入任何提交的成果,\n其中包含三个只存在于本地的门禁脚本(partner-truth / security-boundary /\noutbox-lease),clean checkout 根本跑不出当前的治理结论。一并落库。\n\n主要内容\n- Finance 对账 Phase A:12 个 model、双后端服务与 worker、/finance 工作面与 e2e\n- 应用安全边界(C21):显式 demo/signed 分界、principal 取 tenant/actor、\n 治理动作 RBAC、支付 webhook raw-body HMAC\n- Outbox 多实例租约(C22):CTE + FOR UPDATE SKIP LOCKED 原子领取、行锁 fencing、\n 租约过期崩溃恢复\n- crew 雇佣纵切(L7,新):crewEngagementMachine 落 contracts 单源,双后端对等写链\n (updateMany + stage/version 双前置条件,0 行即 409),两端迁移逐字一致,\n /team 的 employment 由写死的 UNKNOWN 变为 crew_engagements 真实阶段\n- 新门禁:check:partner-truth / check:security-boundary / check:outbox-lease /\n check:owner-matrix,并把 crew 写链接入 check:concurrency-guard(20→22 条)\n- a11y 与 Tailwind token 修复及其静默失效门禁\n\ncrew 纵切的两个设计要点\n- 无行即未雇佣,不设 NOT_HIRED 状态(与 TrustState 缺行=UNCONFIGURED 同构)\n- 实习期强制人审、转正后才准进入信任爬坡放行:商业分层直接就是授权分层,\n 实习期本质上是在攒 approval.decided 样本,转正把信任兑现为自治\n- PLANNED 的 SKU 不可雇佣,避免造出「实习中却没有任何工作面」的假雇佣事实\n\n验收(本地 dirty 工作区,2026-08-17;不得外推为远端已发布或生产就绪)\n- pnpm check exit 0(16 项静态门禁;新增并发写链守卫已做负向测试,确认会红)\n- check:runtime passed:380 tests / 0 failures(地板 355→380)\n- check:ui passed:14 用例 / 0 失败(地板 13→14)\n\n按 CLAUDE.md 提交纪律,baseline.json 的地板与支撑它的测试文件在同一提交内。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/b0d8e837396f6e0f15c0ceeb46b236f14f40f5c9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:09:30-07:00","added":["apps/api-fastify/prisma/migrations/20260814233000_add_finance_reconciliation_phase_a/migration.sql","apps/api-fastify/prisma/migrations/20260815033000_add_outbox_dispatch_leases/migration.sql","apps/api-fastify/prisma/migrations/20260817090000_add_crew_engagement/migration.sql","apps/api-fastify/src/modules/crew/crew.service.ts","apps/api-fastify/src/modules/finance/errors.ts","apps/api-fastify/src/modules/finance/finance-jobs.service.ts","apps/api-fastify/src/modules/finance/finance-jobs.types.ts","apps/api-fastify/src/modules/finance/finance-json.ts","apps/api-fastify/src/modules/finance/finance-payment-transaction.ts","apps/api-fastify/src/modules/finance/finance-sweep.service.ts","apps/api-fastify/src/modules/finance/finance-transaction.ts","apps/api-fastify/src/modules/finance/finance.service.ts","apps/api-fastify/src/modules/finance/integrity.ts","apps/api-fastify/src/modules/security.ts","apps/api-fastify/src/plugins/finance-workers.ts","apps/api-fastify/src/routes/crew.ts","apps/api-fastify/src/routes/finance.ts","apps/api-fastify/test/crew.integration.test.ts","apps/api-fastify/test/finance-workers.integration.test.ts","apps/api-fastify/test/finance.integration.test.ts","apps/api-fastify/test/security.http.test.ts","apps/api-nestjs/prisma/migrations/20260814233000_add_finance_reconciliation_phase_a/migration.sql","apps/api-nestjs/prisma/migrations/20260815033000_add_outbox_dispatch_leases/migration.sql","apps/api-nestjs/prisma/migrations/20260817090000_add_crew_engagement/migration.sql","apps/api-nestjs/src/common/security/security.decorators.ts","apps/api-nestjs/src/common/security/security.guard.ts","apps/api-nestjs/src/common/security/security.module.ts","apps/api-nestjs/src/common/security/security.service.ts","apps/api-nestjs/src/crew/crew.controller.ts","apps/api-nestjs/src/crew/crew.module.ts","apps/api-nestjs/src/crew/crew.service.ts","apps/api-nestjs/src/finance/finance-jobs.service.ts","apps/api-nestjs/src/finance/finance-jobs.types.ts","apps/api-nestjs/src/finance/finance-json.ts","apps/api-nestjs/src/finance/finance-payment-transaction.ts","apps/api-nestjs/src/finance/finance-reconciliation.processor.ts","apps/api-nestjs/src/finance/finance-sweep.service.ts","apps/api-nestjs/src/finance/finance-transaction.ts","apps/api-nestjs/src/finance/finance-worker-lifecycle.ts","apps/api-nestjs/src/finance/finance.controller.ts","apps/api-nestjs/src/finance/finance.module.ts","apps/api-nestjs/src/finance/finance.service.ts","apps/api-nestjs/test/crew.integration.test.ts","apps/api-nestjs/test/finance-workers.integration.test.ts","apps/api-nestjs/test/finance.http.test.ts","apps/api-nestjs/test/finance.integration.test.ts","apps/api-nestjs/test/security.http.test.ts","apps/web/e2e/finance-p0.spec.ts","apps/web/public/haimate-mark.png","apps/web/src/app/finance/page.tsx","apps/web/src/app/team/page.tsx","apps/web/src/features/finance/api/finance-api.ts","apps/web/src/features/finance/components/FinanceCoveragePanel.tsx","apps/web/src/features/finance/components/FinanceDailyReportPanel.tsx","apps/web/src/features/finance/components/FinanceImportPanel.tsx","apps/web/src/features/finance/components/FinanceWorkspace.tsx","apps/web/src/features/finance/components/ReconciliationCasesPanel.tsx","apps/web/src/features/finance/components/ReconciliationPanel.tsx","apps/web/src/features/finance/components/finance-presenters.tsx","apps/web/src/features/finance/hooks/use-finance.ts","apps/web/src/features/finance/types/index.ts","apps/web/src/features/team/api/team-api.ts","apps/web/src/features/team/components/ConversationWorkspace.tsx","apps/web/src/features/team/components/EmployeeRoster.tsx","apps/web/src/features/team/components/EngagementPanel.tsx","apps/web/src/features/team/components/SecondaryEmployeePanel.tsx","apps/web/src/features/team/components/TeamInsights.tsx","apps/web/src/features/team/hooks/use-team-workspace.ts","apps/web/src/features/team/lib/presenters.ts","apps/web/src/features/team/types.ts","design-qa.md","docs/adr/0011-explicit-demo-and-signed-application-security.md","docs/domain/crew-substrate-blueprint.md","packages/contracts/dist/crew.d.ts","packages/contracts/dist/crew.d.ts.map","packages/contracts/dist/crew.js","packages/contracts/dist/crew.js.map","packages/contracts/dist/finance.d.ts","packages/contracts/dist/finance.d.ts.map","packages/contracts/dist/finance.js","packages/contracts/dist/finance.js.map","packages/contracts/dist/security.d.ts","packages/contracts/dist/security.d.ts.map","packages/contracts/dist/security.js","packages/contracts/dist/security.js.map","packages/contracts/src/finance.test.ts","packages/contracts/src/finance.ts","packages/contracts/src/security.test.ts","packages/contracts/src/security.ts","reports/design-qa/haimate-team-comparison-final.png","reports/design-qa/haimate-team-final-1440x1024.jpg","reports/design-qa/haimate-team-mobile-390x844.jpg","reports/design-qa/haimate-team-workspace-comparison-final.png","reports/owner-matrix.latest.json","scripts/check-outbox-lease.mjs","scripts/check-owner-matrix.mjs","scripts/check-partner-truth.mjs","scripts/check-security-boundary.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/bookings/booking-transaction.ts","apps/api-fastify/src/modules/bookings/bookings.service.ts","apps/api-fastify/src/modules/conversations/booking-effects.service.ts","apps/api-fastify/src/modules/conversations/conversation-transaction.ts","apps/api-fastify/src/modules/conversations/conversations.service.ts","apps/api-fastify/src/modules/conversations/room-unavailable.consumer.ts","apps/api-fastify/src/modules/payments/payments.service.ts","apps/api-fastify/src/modules/platform/approval-ticket-transaction.ts","apps/api-fastify/src/modules/platform/approval-tickets.service.ts","apps/api-fastify/src/modules/platform/http-support.ts","apps/api-fastify/src/modules/platform/knowledge.service.ts","apps/api-fastify/src/modules/platform/tool-gateway.service.ts","apps/api-fastify/src/modules/platform/trust.service.ts","apps/api-fastify/src/modules/ports/availability.service.ts","apps/api-fastify/src/modules/ports/payment.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/routes/approval-tickets.ts","apps/api-fastify/src/routes/bookings.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/src/routes/payments.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/trust.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/booking.http.test.ts","apps/api-fastify/test/booking.integration.test.ts","apps/api-fastify/test/booking.workers.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/platform.http.test.ts","apps/api-fastify/test/platform.integration.test.ts","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/availability/availability.service.ts","apps/api-nestjs/src/bookings/booking-transaction.ts","apps/api-nestjs/src/bookings/bookings.controller.ts","apps/api-nestjs/src/bookings/bookings.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/conversations/booking-effects.processor.ts","apps/api-nestjs/src/conversations/conversation-transaction.ts","apps/api-nestjs/src/conversations/conversations.controller.ts","apps/api-nestjs/src/conversations/conversations.service.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/payments/payment-port.service.ts","apps/api-nestjs/src/payments/payments.controller.ts","apps/api-nestjs/src/payments/payments.module.ts","apps/api-nestjs/src/payments/payments.service.ts","apps/api-nestjs/src/platform/approval-ticket-transaction.ts","apps/api-nestjs/src/platform/approval-tickets.controller.ts","apps/api-nestjs/src/platform/approval-tickets.service.ts","apps/api-nestjs/src/platform/knowledge.controller.ts","apps/api-nestjs/src/platform/knowledge.service.ts","apps/api-nestjs/src/platform/tool-gateway.controller.ts","apps/api-nestjs/src/platform/tool-gateway.service.ts","apps/api-nestjs/src/platform/tools.controller.ts","apps/api-nestjs/src/platform/trust.controller.ts","apps/api-nestjs/src/platform/trust.service.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/booking.http.test.ts","apps/api-nestjs/test/booking.integration.test.ts","apps/api-nestjs/test/booking.workers.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/platform-workers.integration.test.ts","apps/api-nestjs/test/platform.http.test.ts","apps/api-nestjs/test/platform.integration.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/e2e/haimate-p0.spec.ts","apps/web/e2e/realtime-store.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/ApprovalsPanel.tsx","apps/web/src/components/BookingsPanel.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/ToolCallsPanel.tsx","apps/web/src/features/team/components/TeamLedgerBoard.tsx","apps/web/src/features/team/components/TeamWorkspace.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","docs/adr/0010-finance-money-source-completeness-and-event-identity.md","docs/adr/README.md","docs/domain/booking-reception-blueprint.md","docs/domain/finance-reconciliation-blueprint.md","docs/domain/haimate-p0-grill-alignment.md","docs/domain/owner-matrix.md","docs/domain/platform-core-blueprint.md","docs/governance-experience.md","docs/product/haimate-pricing-and-gtm.md","docs/product/haimate-strategy-corpus.md","package.json","packages/contracts/dist/approval.d.ts","packages/contracts/dist/approval.d.ts.map","packages/contracts/dist/approval.js","packages/contracts/dist/approval.js.map","packages/contracts/dist/booking.d.ts","packages/contracts/dist/booking.d.ts.map","packages/contracts/dist/booking.js","packages/contracts/dist/booking.js.map","packages/contracts/dist/conversation.d.ts","packages/contracts/dist/index.d.ts","packages/contracts/dist/index.d.ts.map","packages/contracts/dist/index.js","packages/contracts/dist/index.js.map","packages/contracts/dist/money.d.ts","packages/contracts/dist/money.d.ts.map","packages/contracts/dist/money.js","packages/contracts/dist/money.js.map","packages/contracts/dist/ports.d.ts","packages/contracts/dist/ports.d.ts.map","packages/contracts/dist/ports.js.map","packages/contracts/dist/quote.d.ts","packages/contracts/dist/quote.d.ts.map","packages/contracts/dist/quote.js","packages/contracts/dist/quote.js.map","packages/contracts/dist/realtime.d.ts","packages/contracts/dist/realtime.d.ts.map","packages/contracts/dist/realtime.js","packages/contracts/dist/realtime.js.map","packages/contracts/dist/tenant.d.ts","packages/contracts/dist/tenant.d.ts.map","packages/contracts/dist/tenant.js","packages/contracts/dist/tenant.js.map","packages/contracts/dist/tool.d.ts","packages/contracts/dist/tool.d.ts.map","packages/contracts/dist/tool.js","packages/contracts/dist/tool.js.map","packages/contracts/src/approval.ts","packages/contracts/src/booking.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/crew.test.ts","packages/contracts/src/crew.ts","packages/contracts/src/haimate-contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/money.ts","packages/contracts/src/ports.ts","packages/contracts/src/quote.ts","packages/contracts/src/realtime.ts","packages/contracts/src/tenant.ts","packages/contracts/src/tool.ts","pnpm-lock.yaml","reports/baseline.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.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","turbo.json"]},{"id":"44fed27603c1bd264192d1ce05016c1cd5b1c8ea","message":"fix(a11y): 修复侧栏隐形导航 + 颜色 token 全面达标 AA,并新增 Tailwind 静默失效门禁\n\n根因:Tailwind 颜色类透明度修饰符只有落在预设刻度(5 的倍数)或方括号任意值\n才生成 CSS。侧栏写 text-white/68 属死类,文字回退继承 --hm-ink 压在深蓝\n--hm-nav 上,实测对比度 1.02——导航区在浏览器里等于隐形,而 TypeScript\n与 ESLint 均不报,只有量计算样式才暴露。\n\n- 侧栏 6 处非法透明度(/38 /58 /68 /78)改为合法刻度,导航项对比度 1.02 → 5.18~17.64,6/6 达标\n- 全站实测 187 个文本节点原有 45 处不达 AA,根因集中在 token 自身取值偏浅;\n 按 token 层修复(text-tertiary/warning/success/danger/ai),每个新值在白底与\n 各自浅色底双双达标才采用,注释写进 globals.css。结果 45 → 0\n- 新增 check:tailwind-tokens 绊网并接入 pnpm check 与棘轮(地板 0);\n 负向测试已验证:注入 text-white/68 即 exit 1,恢复即 exit 0\n- 团队总览按用户拍板退回外壳设计语言(--hm-* / 12px 圆角 / 无衬线),\n 补回此前被重构弄丢的「昨天那一页」与雇佣价目,触控目标统一 44px\n- 花名册单源 contracts CREW_ROSTER + deriveCrewStatus(计费跳档将复用同一口径)\n- e2e 重写为一条覆盖全模块的用例(旧两条因 testid 重命名已失效)\n- CLAUDE.md 基线表 + 治理经验库 ⑬ 回灌\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/44fed27603c1bd264192d1ce05016c1cd5b1c8ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-14T19:18:43-07:00","added":["apps/web/src/components/layout/HaiMateShell.tsx","apps/web/src/features/team/components/TeamLedgerBoard.tsx","apps/web/src/features/team/components/TeamWorkspace.tsx","packages/contracts/src/crew.test.ts","packages/contracts/src/crew.ts","reports/tailwind-tokens.latest.json","scripts/check-tailwind-tokens.mjs"],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/haimate-p0.spec.ts","apps/web/src/app/globals.css","docs/governance-experience.md","package.json","packages/contracts/src/index.ts","reports/baseline.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"6b3be1dafc25b3d82703595f7542769eae6b7744","message":"chore(reports): 刷新治理证据,绑定提交 b0d8e83\n\n三级门禁在 b0d8e83 上重跑后的报告:\n- pnpm check exit 0(16 项静态门禁)\n- check:runtime passed:380 tests / 0 failures\n- check:ui passed:14 用例 / 0 失败\n\n诚实标注:provenance 的 worktreeDirty 仍为 true。原因不是本提交遗漏了文件,\n而是**同一工作区存在并发会话**,其在制品(CLAUDE.md、两端 approval-tickets.service、\nweb/src/lib/types.ts、check-order-concurrency-guard.mjs、check-owner-matrix.mjs)\n在重跑期间处于未提交状态,已刻意不纳入本提交。\n\n因此本组报告只能宣称「本地工作区(含上述并发在制品)在 2026-08-17 通过三级门禁」,\n不得外推为 clean checkout 通过、远端已发布或 CI 已拦截。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haimate/commit/6b3be1dafc25b3d82703595f7542769eae6b7744","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-17T16:16:17-07:00","added":["reports/outbox-lease.latest.json","reports/partner-truth.latest.json","reports/security-boundary.latest.json"],"removed":[],"modified":["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/hallucination-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/owner-matrix.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/tailwind-tokens.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":74,"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":"haimate","full_name":"luoanwu/haimate","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1121,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate/languages","html_url":"https://gitea.g-hi.com/luoanwu/haimate","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haimate","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haimate.git","clone_url":"https://gitea.g-hi.com/luoanwu/haimate.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-15T06:22:30+08:00","updated_at":"2026-08-15T07:09: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
|
6
|
1787008617
|
1787009037
|
0
|
1787008617
|
1787009038
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23506
|
fix(events)+test(learning): dispatcher 关闭等待在途 tick fix(events)+test(learning): dispatcher 关闭等待在途 tick + ActorSkillState 并发学习用例(G18 盲区)...
|
76
|
5
|
governance.yml
|
7
|
5
|
0
|
refs/heads/main
|
29718124b1918bbc4d17c98875c6043ec5fa3048
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"66900427c855e2ce43d634de9c6107dd6e8d1224","after":"29718124b1918bbc4d17c98875c6043ec5fa3048","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/66900427c855e2ce43d634de9c6107dd6e8d1224...29718124b1918bbc4d17c98875c6043ec5fa3048","commits":[{"id":"29718124b1918bbc4d17c98875c6043ec5fa3048","message":"fix(events)+test(learning): dispatcher 关闭等待在途 tick + ActorSkillState 并发学习用例(G18 盲区)\n\n- 两后端 outbox dispatcher close 原来只 clearInterval、不等在途 tick——\n tick 可越过 redis.quit() 撞死连接(CI 收尾竞态实锤形态之一);\n 现 clearInterval + await inFlight(收窄竞态面,不宣称根治偶发)\n- 两后端各 +2 真实 DB 双事务并发用例(行锁定序确定性编排):\n 乐观锁 0 行拒绝 / 经验恰好 +1 防双记账 / 失败侧全量回滚(P4)/\n 全新技能并发首建 P2002 防双行\n- 地板棘轮:testsPassed 354→358(专属基座 runtime_g18+Redis/12 全量 358/358)、\n ownTests→54、ownTestCases→354\n- CI run 32345463489(docs-only 提交偶发红)复跑即绿,判责=偶发成立,形态已记 G18\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/29718124b1918bbc4d17c98875c6043ec5fa3048","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T01:09:40-07:00","added":["apps/api-fastify/test/learning.concurrency.test.ts","apps/api-nestjs/test/learning.concurrency.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/plugins/outbox.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.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"]}],"total_commits":0,"head_commit":{"id":"29718124b1918bbc4d17c98875c6043ec5fa3048","message":"fix(events)+test(learning): dispatcher 关闭等待在途 tick + ActorSkillState 并发学习用例(G18 盲区)\n\n- 两后端 outbox dispatcher close 原来只 clearInterval、不等在途 tick——\n tick 可越过 redis.quit() 撞死连接(CI 收尾竞态实锤形态之一);\n 现 clearInterval + await inFlight(收窄竞态面,不宣称根治偶发)\n- 两后端各 +2 真实 DB 双事务并发用例(行锁定序确定性编排):\n 乐观锁 0 行拒绝 / 经验恰好 +1 防双记账 / 失败侧全量回滚(P4)/\n 全新技能并发首建 P2002 防双行\n- 地板棘轮:testsPassed 354→358(专属基座 runtime_g18+Redis/12 全量 358/358)、\n ownTests→54、ownTestCases→354\n- CI run 32345463489(docs-only 提交偶发红)复跑即绿,判责=偶发成立,形态已记 G18\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/29718124b1918bbc4d17c98875c6043ec5fa3048","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T01:09:40-07:00","added":["apps/api-fastify/test/learning.concurrency.test.ts","apps/api-nestjs/test/learning.concurrency.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/plugins/outbox.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.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"]},"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":1181,"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-20T15:45: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
|
1787213385
|
1787213410
|
0
|
1787213384
|
1787213411
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23383
|
chore(census): 刷新 project-census.latest 元数据至合并后 ma chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)...
|
6
|
5
|
ci.yml
|
23300
|
5
|
0
|
refs/heads/main
|
8d19578e5c20ba6ef6405795d9bfad0ac5946fe6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"65a364c96c37bfde66bcbb2a6ef6a6bef1331d99","after":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/65a364c96c37bfde66bcbb2a6ef6a6bef1331d99...8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","commits":[{"id":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","message":"chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)\n\n5 个跳过冲突分支全部解析合并后,以真源脚本重新生成 latest 快照,计数不变仅元数据对齐。\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/8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:09:34-07:00","added":[],"removed":[],"modified":["reports/project-census.latest.json"]},{"id":"396b8b051caf81736839b33068e0510bf720e234","message":"Merge remote-tracking branch 'origin/claude/strange-heisenberg-108e6a'\n\n# Conflicts:\n#\treports/project-census.baseline.json\n#\treports/project-census.latest.json\n#\tscripts/audit-project-census.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/396b8b051caf81736839b33068e0510bf720e234","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:08:39-07:00","added":[],"removed":[],"modified":["reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"]},{"id":"4f2f50c5b39d595ff4b5646edda1c53d4ec7aadb","message":"Merge remote-tracking branch 'origin/claude/optimistic-beaver-db3124'\n\n# Conflicts:\n#\te2e/tests/auth/campaign-targets-smoke.spec.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4f2f50c5b39d595ff4b5646edda1c53d4ec7aadb","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:07:18-07:00","added":[],"removed":[],"modified":[]},{"id":"c24d1ce58254430f3693ba6f43c460ab8ea606f4","message":"Merge remote-tracking branch 'origin/claude/gifted-wilbur-667c1b'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c24d1ce58254430f3693ba6f43c460ab8ea606f4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:06:34-07:00","added":[],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/scripts/audit-process-definition-consistency.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-creation/content-creation.service.ts","backend/src/modules/disbursements/expense-claim.service.ts","backend/src/modules/event-subscriptions/event-subscriptions.service.ts","backend/src/modules/finance/finance-commissions.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/location-assessments/location-assessment.service.ts","backend/src/modules/resource-requests/resource-request.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/treasury/payment-request.service.ts","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/harness-dashboard.latest.json","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/process-definition-consistency.latest.json","reports/process-definition-consistency.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","scripts/audit-field-payload.ts"]},{"id":"8146bb688767c7158adfa4c28b4ba6463a6c5ce4","message":"Merge remote-tracking branch 'origin/claude/fix-campaign-targets-assertion'\n\n# Conflicts:\n#\te2e/tests/auth/campaign-targets-smoke.spec.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8146bb688767c7158adfa4c28b4ba6463a6c5ce4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:06:15-07:00","added":[],"removed":[],"modified":["e2e/tests/auth/campaign-targets-smoke.spec.ts"]}],"total_commits":0,"head_commit":{"id":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","message":"chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)\n\n5 个跳过冲突分支全部解析合并后,以真源脚本重新生成 latest 快照,计数不变仅元数据对齐。\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/8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:09:34-07:00","added":[],"removed":[],"modified":["reports/project-census.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":5476722,"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":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-19T00:03: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":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
|
1
|
14
|
1779120612
|
1779122660
|
0
|
1779120606
|
1779122660
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23922
|
chore(reports): record 529 passing runtime tests a chore(reports): record 529 passing runtime tests after identity merge...
|
116
|
5
|
platform.yml
|
42
|
5
|
0
|
refs/heads/main
|
b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"65192fd85b1158262eabb1eeca9f586a01b37794","after":"b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/65192fd85b1158262eabb1eeca9f586a01b37794...b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","commits":[{"id":"b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","message":"chore(reports): record 529 passing runtime tests after identity merge\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:55:19-07:00","added":[],"removed":[],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","runtime/CLAUDE.md","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"1c08e564fdceca6ae339603e15c1b2a83010a57d","message":"Merge remote-tracking branch 'origin/main'\n\n# Conflicts:\n#\treports/caddy.latest.json\n#\treports/catalog-drift.latest.json\n#\treports/catalog-reconciliation.latest.json\n#\treports/facts.latest.json\n#\treports/fixtures.latest.json\n#\treports/migration-decs.latest.json\n#\treports/module-imports.latest.json\n#\truntime/CLAUDE.md\n#\truntime/reports/agent-adapters.latest.json\n#\truntime/reports/conformance-matrix.latest.json\n#\truntime/reports/contract-consumers.latest.json\n#\truntime/reports/docs-truth.latest.json\n#\truntime/reports/dual-backend-parity.latest.json\n#\truntime/reports/fork-readiness.latest.json\n#\truntime/reports/governance-docs.latest.json\n#\truntime/reports/governance-rules.latest.json\n#\truntime/reports/governance-status.latest.json\n#\truntime/reports/governance.latest.json\n#\truntime/reports/migrations.latest.json\n#\truntime/reports/naming.latest.json\n#\truntime/reports/runtime-governance.latest.json\n#\truntime/reports/schema-sync.latest.json\n#\truntime/reports/statemachine-write-guard.latest.json\n#\truntime/reports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/1c08e564fdceca6ae339603e15c1b2a83010a57d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:50:25-07:00","added":["docs/PF-07身份核心迁移记录-2026-09-12.md","governance/test/identity-source-relocation.test.mjs","governance/test/identity-test-count.test.mjs","identity/packages/identity-domain/src","identity/packages/identity-domain/vitest.config.ts","identity/packages/oidc-core/src","identity/packages/oidc-core/vitest.config.ts","identity/packages/security/src","identity/packages/security/vitest.config.ts","identity/scripts/lib/own-tests.mjs","runtime/docs/domain/identity-blueprint.md","runtime/modules/identity/source-relocation.json","runtime/modules/identity/src/domain/idp-state-machines.test.ts","runtime/modules/identity/src/domain/idp-state-machines.ts","runtime/modules/identity/src/domain/statemachine.ts","runtime/modules/identity/src/oidc/index.test.ts","runtime/modules/identity/src/oidc/index.ts","runtime/modules/identity/src/security/index.test.ts","runtime/modules/identity/src/security/index.ts"],"removed":["identity/packages/identity-domain/src/idp-state-machines.test.ts","identity/packages/identity-domain/src/idp-state-machines.ts","identity/packages/identity-domain/src/index.ts","identity/packages/identity-domain/src/statemachine.ts","identity/packages/oidc-core/src/index.test.ts","identity/packages/oidc-core/src/index.ts","identity/packages/security/src/index.test.ts","identity/packages/security/src/index.ts"],"modified":["identity/CLAUDE.md","identity/scripts/governance-report.mjs","identity/turbo.json","runtime/CLAUDE.md","runtime/docs/domain/owner-matrix.md","runtime/modules/identity/package.json","runtime/modules/identity/src/domain/index.ts","runtime/modules/identity/src/index.ts","runtime/pnpm-lock.yaml"]},{"id":"beb9c11a921406c5d187ad7b24c365125581f95d","message":"docs(platform): record clean mainline evidence and fixed-source dev broker rollout\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/beb9c11a921406c5d187ad7b24c365125581f95d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:48:39-07:00","added":["reports/foundation-audit-current.latest.json","reports/mainline-acceptance.latest.json","reports/mainline-dev-deployment.latest.json","reports/mainline-restore.latest.json","reports/revocation-sla.latest.json"],"removed":[],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","docs/持久主线本地验收.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","stack/README.md"]},{"id":"789803e1e0bf5c6a7e3b7719de154efecc1e5b89","message":"feat(platform): persist fact, permission and audit mainline with real recovery tests\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/789803e1e0bf5c6a7e3b7719de154efecc1e5b89","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:43:33-07:00","added":["docs/MS-2-3持久主线执行记录-2026-09-12.md","docs/domain/ms2-ms4-mainline-blueprint.md","docs/domain/owner-matrix.md","docs/持久主线本地验收.md","governance/check-mainline.mjs","governance/lib/provenance.d.mts","governance/prepare-mainline.mjs","governance/restore-mainline.mjs","runtime/clients/fact/migrations/001_outbox_inbox.sql","runtime/clients/fact/package.json","runtime/clients/fact/src/index.ts","runtime/clients/fact/src/protocol.test.ts","runtime/clients/fact/src/protocol.ts","runtime/clients/fact/tsconfig.json","runtime/modules/audit/prisma/migrations/202609120001_audit_ledger/migration.sql","runtime/modules/audit/prisma/migrations/migration_lock.toml","runtime/modules/audit/src/persistence/audit-store.ts","runtime/modules/audit/test/negative/tamper.integration.ts","runtime/modules/audit/vitest.integration.config.ts","runtime/modules/fact/prisma/migrations/202609120001_fact_acceptance/migration.sql","runtime/modules/fact/prisma/migrations/migration_lock.toml","runtime/modules/fact/src/persistence/fact-store.ts","runtime/modules/fact/src/persistence/protocol.ts","runtime/modules/fact/src/persistence/redpanda.ts","runtime/modules/fact/test/persistence.integration.ts","runtime/modules/fact/vitest.integration.config.ts","runtime/modules/kit/src/durable-facts.ts","runtime/modules/permission/prisma/migrations/202609120001_permission_ledger/migration.sql","runtime/modules/permission/prisma/migrations/migration_lock.toml","runtime/modules/permission/src/persistence/permission-store.ts","runtime/test/chaos/redpanda-disconnect.test.ts","runtime/test/e2e/mainline-support.ts","runtime/test/e2e/revocation-sla.test.ts","runtime/test/fixtures/mainline-consumer.sql","runtime/test/fixtures/mainline-owner.sql","stack/provision/redpanda-topics.mjs"],"removed":[],"modified":[".github/workflows/platform.yml","CLAUDE.md","README.md","contracts/SOURCE.md","contracts/catalogs/platform-projects.json","package.json","runtime/CLAUDE.md","runtime/apps/api-nestjs/src/auth/auth.guard.ts","runtime/apps/api-nestjs/src/auth/token-verifier.ts","runtime/apps/api-nestjs/src/platform/http/permission-decision.adapter.ts","runtime/apps/api-nestjs/src/platform/http/permission-decision.controller.ts","runtime/apps/api-nestjs/test/platform.http.acceptance.test.ts","runtime/modules.json","runtime/modules/audit/package.json","runtime/modules/audit/prisma/schema.prisma","runtime/modules/audit/src/index.ts","runtime/modules/fact/package.json","runtime/modules/fact/prisma/schema.prisma","runtime/modules/fact/src/index.ts","runtime/modules/kit/package.json","runtime/modules/kit/src/facts.ts","runtime/modules/kit/src/index.ts","runtime/modules/permission/package.json","runtime/modules/permission/prisma/schema.prisma","runtime/modules/permission/src/index.ts","runtime/pnpm-lock.yaml","runtime/test/chaos/fail-closed.test.ts","runtime/test/e2e/mainline.test.ts","runtime/test/package.json","runtime/test/vitest.config.ts","runtime/turbo.json","stack/README.md","stack/compose.yaml","stack/overlays/dev.yaml","stack/overlays/staging.yaml","stack/overlays/test.yaml","stack/provision/redpanda-topics.json","stack/provision/redpanda-topics.sh"]},{"id":"061f1b2bce343483b425f9b03d89b679d519319b","message":"docs(platform): 口径收口——MS-1 正式收口(DEC-025 已批)、RC1 消费、云端八 job 与 IdP UI 抖动登记、当前状态日期;README / CLAUDE / MS-1 记录追记 / Registry 提案改历史(Manifest 已由 3474706 刷新 @ 3ffdc31,本提交不重生成;治理测试 143 过 / 1 skip)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/061f1b2bce343483b425f9b03d89b679d519319b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:24:56-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","docs/MS-1-Registry裁决登记提案-2026-09-12.md","docs/MS-1建仓与接入执行记录-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","message":"chore(reports): record 529 passing runtime tests after identity merge\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/b5b7b7a18e6bb57854be8fdf5f0660fe6c2a2279","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T15:55:19-07:00","added":[],"removed":[],"modified":["docs/MS-2-3持久主线执行记录-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","reports/revocation-sla.latest.json","runtime/CLAUDE.md","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5247,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-13T06:46:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789253724
|
1789253905
|
0
|
1789253724
|
1789254008
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
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
|
|
23694
|
feat(image): apply generation types to prompts and feat(image): apply generation types to prompts and sync pending improvements...
|
57
|
5
|
governance.yml
|
65
|
5
|
0
|
refs/heads/main
|
331207e18244f62f97d70a26309d178629cd6498
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6476b76f819946f7e8a13042e1a2d9648fcf714a","after":"331207e18244f62f97d70a26309d178629cd6498","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6476b76f819946f7e8a13042e1a2d9648fcf714a...331207e18244f62f97d70a26309d178629cd6498","commits":[{"id":"331207e18244f62f97d70a26309d178629cd6498","message":"feat(image): apply generation types to prompts and sync pending improvements\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/331207e18244f62f97d70a26309d178629cd6498","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T09:34:33-07:00","added":["apps/web/src/lib/image-generation-defaults.test.mjs","apps/web/src/lib/image-generation-defaults.ts","docs/governance/log/2026-09-08-image-type-prompt-sync.md","packages/contracts/src/image-type-prompt.test.ts"],"removed":[],"modified":["apps/web/src/components/material-factory/CreateStudio.tsx","deploy/vm/Dockerfile","deploy/vm/sidecar.Dockerfile","docs/deploy-vm.md","packages/contracts/src/material.ts","reports/content-detail.failure.png","reports/content-detail.failure.txt","reports/content-detail.output-mobile.png","reports/toolchain.latest.json","reports/ui-failure.png","reports/ui-failure.txt","scripts/lib/toolchain-policy.mjs","scripts/toolchain-policy.test.mjs"]}],"total_commits":0,"head_commit":{"id":"331207e18244f62f97d70a26309d178629cd6498","message":"feat(image): apply generation types to prompts and sync pending improvements\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/331207e18244f62f97d70a26309d178629cd6498","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T09:34:33-07:00","added":["apps/web/src/lib/image-generation-defaults.test.mjs","apps/web/src/lib/image-generation-defaults.ts","docs/governance/log/2026-09-08-image-type-prompt-sync.md","packages/contracts/src/image-type-prompt.test.ts"],"removed":[],"modified":["apps/web/src/components/material-factory/CreateStudio.tsx","deploy/vm/Dockerfile","deploy/vm/sidecar.Dockerfile","docs/deploy-vm.md","packages/contracts/src/material.ts","reports/content-detail.failure.png","reports/content-detail.failure.txt","reports/content-detail.output-mobile.png","reports/toolchain.latest.json","reports/ui-failure.png","reports/ui-failure.txt","scripts/lib/toolchain-policy.mjs","scripts/toolchain-policy.test.mjs"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":642285,"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-09T00:19: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
|
1788885290
|
1788885411
|
0
|
1788885288
|
1788885411
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23713
|
docs(release): record verified r51 menu deployment
|
57
|
5
|
governance.yml
|
84
|
5
|
0
|
refs/heads/main
|
2d9dd1b8cadad51545770cb227b0e343a1ad76c0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"64569e7b833676563fdaa09d8c54c7aaef46a883","after":"2d9dd1b8cadad51545770cb227b0e343a1ad76c0","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/64569e7b833676563fdaa09d8c54c7aaef46a883...2d9dd1b8cadad51545770cb227b0e343a1ad76c0","commits":[{"id":"2d9dd1b8cadad51545770cb227b0e343a1ad76c0","message":"docs(release): record verified r51 menu deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/2d9dd1b8cadad51545770cb227b0e343a1ad76c0","author":{"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:14: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"]}],"total_commits":0,"head_commit":{"id":"2d9dd1b8cadad51545770cb227b0e343a1ad76c0","message":"docs(release): record verified r51 menu deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/2d9dd1b8cadad51545770cb227b0e343a1ad76c0","author":{"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:14: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"]},"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":658983,"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:12: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
|
1
|
4
|
1788891338
|
1788891430
|
0
|
1788891336
|
1788891430
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23573
|
docs(governance): 动态区回灌至 clean @ 3bb349d + 把「动态区与报 docs(governance): 动态区回灌至 clean @ 3bb349d + 把「动态区与报告同步」机器化...
|
54
|
5
|
governance.yml
|
16
|
5
|
0
|
refs/heads/main
|
a9bf41341677134557538182b87a1339aa7b7616
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6449421518ff6b2dd62b6ff862ff44aedcbbea29","after":"a9bf41341677134557538182b87a1339aa7b7616","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/6449421518ff6b2dd62b6ff862ff44aedcbbea29...a9bf41341677134557538182b87a1339aa7b7616","commits":[{"id":"a9bf41341677134557538182b87a1339aa7b7616","message":"docs(governance): 动态区回灌至 clean @ 3bb349d + 把「动态区与报告同步」机器化\n\n回灌\n- 三级证据新鲜度从 `dirty @ a9e18b9` 更正为 **clean @ `3bb349d`**(静态 exit 0、\n runtime 202 tests / 差分 0 differences、UI 8 用例),并记录本轮实际基座库名与端口覆盖;\n- G0 余项(clean commit 三级重跑)标记完成;\n- 基线表 6 行「本地 dirty」改为 clean 绑定;\n- OS 两级本轮 SKIPPED / 未实跑,诚实标为 🟡 STALE——不随其他行一起蹭 clean。\n\n机器化(P5:机器门禁 \u003e 手册条目 \u003e 口头经验)\ncheck:docs-truth 新增 freshness-sha-runtime / freshness-sha-ui 两条断言:\n动态区声明的 SHA 必须等于对应 latest 报告的 provenance.gitSha。\n\n实锤依据:连续两轮报告刷新提交都没回灌动态区(报告 clean @ 3bb349d,\n动态区仍写 dirty @ a9e18b9);而 CLAUDE.md 自己规定「判定治理状态只认动态区 + reports」,\n两份真源打架时该规矩直接失效。同一轮人工回灌时我又把「本轮根本没跑」的 OS 行\n误标成 clean——人肉同步不可靠,正是 P5 要求机器化的形态。\n\n刻意不含静态级:governance.latest.json 每次 pnpm check 都重新生成并绑定当时 HEAD,\n对它断言等价于「每次提交都必须改文档」、提交报告后必红,那是会误杀的门禁。\nruntime/UI 报告只有显式跑真实验收才会变,「报告动了而文档没跟上」才是真信号。\n\n负向测试(收尾清单要求):\n① 把 runtime 行 SHA 篡改为 a9e18b9 → freshness-sha-runtime 精确红;\n② 删掉 UI 行的 SHA 声明 → freshness-sha-ui 精确红;\n两次均恢复现场后复跑转绿。pnpm check exit 0。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a9bf41341677134557538182b87a1339aa7b7616","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-31T17:00:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md","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","scripts/check-docs-truth.mjs"]}],"total_commits":0,"head_commit":{"id":"a9bf41341677134557538182b87a1339aa7b7616","message":"docs(governance): 动态区回灌至 clean @ 3bb349d + 把「动态区与报告同步」机器化\n\n回灌\n- 三级证据新鲜度从 `dirty @ a9e18b9` 更正为 **clean @ `3bb349d`**(静态 exit 0、\n runtime 202 tests / 差分 0 differences、UI 8 用例),并记录本轮实际基座库名与端口覆盖;\n- G0 余项(clean commit 三级重跑)标记完成;\n- 基线表 6 行「本地 dirty」改为 clean 绑定;\n- OS 两级本轮 SKIPPED / 未实跑,诚实标为 🟡 STALE——不随其他行一起蹭 clean。\n\n机器化(P5:机器门禁 \u003e 手册条目 \u003e 口头经验)\ncheck:docs-truth 新增 freshness-sha-runtime / freshness-sha-ui 两条断言:\n动态区声明的 SHA 必须等于对应 latest 报告的 provenance.gitSha。\n\n实锤依据:连续两轮报告刷新提交都没回灌动态区(报告 clean @ 3bb349d,\n动态区仍写 dirty @ a9e18b9);而 CLAUDE.md 自己规定「判定治理状态只认动态区 + reports」,\n两份真源打架时该规矩直接失效。同一轮人工回灌时我又把「本轮根本没跑」的 OS 行\n误标成 clean——人肉同步不可靠,正是 P5 要求机器化的形态。\n\n刻意不含静态级:governance.latest.json 每次 pnpm check 都重新生成并绑定当时 HEAD,\n对它断言等价于「每次提交都必须改文档」、提交报告后必红,那是会误杀的门禁。\nruntime/UI 报告只有显式跑真实验收才会变,「报告动了而文档没跟上」才是真信号。\n\n负向测试(收尾清单要求):\n① 把 runtime 行 SHA 篡改为 a9e18b9 → freshness-sha-runtime 精确红;\n② 删掉 UI 行的 SHA 声明 → freshness-sha-ui 精确红;\n两次均恢复现场后复跑转绿。pnpm check exit 0。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a9bf41341677134557538182b87a1339aa7b7616","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-31T17:00:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md","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","scripts/check-docs-truth.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":2335,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-01T07:37: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
|
10
|
1788220856
|
1788220879
|
0
|
1788220856
|
1788220888
|
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
|
|
18265
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
ci.yml
|
18185
|
5
|
0
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
14
|
1777347377
|
1777347411
|
0
|
1777347376
|
1777347601
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
18266
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
e2e-tests.yml
|
18186
|
5
|
0
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":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
|
1777347411
|
1777347552
|
0
|
1777347377
|
1777347606
|
|
|
0
|
Edit
Delete
|
|
18267
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
test-pipeline.yml
|
18187
|
5
|
0
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
72
|
1777347559
|
1777347598
|
0
|
1777347378
|
1777347682
|
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
|
|
18271
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18191
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777347676
|
1777347676
|
0
|
1777347650
|
1777347676
|
|
|
0
|
Edit
Delete
|
|
18274
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18194
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777347950
|
1777347950
|
0
|
1777347950
|
1777347950
|
|
|
0
|
Edit
Delete
|
|
18275
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18195
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777348250
|
1777348251
|
0
|
1777348250
|
1777348251
|
|
|
0
|
Edit
Delete
|
|
18276
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18196
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777348550
|
1777348550
|
0
|
1777348550
|
1777348550
|
|
|
0
|
Edit
Delete
|
|
18277
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18197
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777348850
|
1777348851
|
0
|
1777348850
|
1777348851
|
|
|
0
|
Edit
Delete
|
|
18278
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18198
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777349150
|
1777349151
|
0
|
1777349150
|
1777349151
|
|
|
0
|
Edit
Delete
|
|
18279
|
Add Page AI Assist feature flags and governance au Add Page AI Assist feature flags and governance audits...
|
6
|
5
|
health-check.yml
|
18199
|
-2
|
331
|
refs/heads/main
|
3fa41aea52e84435c16a79dd19c6775f93236a33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62f424f94b745efdce16bde3aa2c73e3839a9264","after":"3fa41aea52e84435c16a79dd19c6775f93236a33","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/62f424f94b745efdce16bde3aa2c73e3839a9264...3fa41aea52e84435c16a79dd19c6775f93236a33","commits":[{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]}],"total_commits":0,"head_commit":{"id":"3fa41aea52e84435c16a79dd19c6775f93236a33","message":"Add Page AI Assist feature flags and governance audits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3fa41aea52e84435c16a79dd19c6775f93236a33","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T20:35:57-07:00","added":["backend/src/modules/ai-assist/context-providers/ai-agents.ts","backend/src/modules/ai-assist/context-providers/campaign.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/content-item.ts","backend/src/modules/ai-assist/context-providers/contract.ts","backend/src/modules/ai-assist/context-providers/finance-aggregate.ts","backend/src/modules/ai-assist/context-providers/hr-aggregate.ts","backend/src/modules/ai-assist/context-providers/lead.ts","backend/src/modules/ai-assist/context-providers/marketing-workflow.ts","backend/src/modules/ai-assist/context-providers/order.ts","backend/src/modules/ai-assist/context-providers/quote.ts","backend/src/modules/ai-assist/context-providers/social-hot-topic.ts","backend/src/modules/ai-assist/context-providers/social-post.ts","backend/src/modules/ai-assist/context-providers/stores.ts","backend/src/modules/ai-assist/context-providers/supply-chain.ts","backend/src/modules/ai-assist/context-providers/system-infra-aggregate.ts","backend/src/modules/ai-assist/context-providers/workbench.ts","scripts/audit-context-provider-redact.ts"],"removed":[],"modified":[".env.example",".env.production.example",".github/workflows/ci.yml","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/.env.example","backend/src/config/env.ts","backend/src/modules/ai-agents/ai-agent.controller.test.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/generic.ts","backend/src/modules/ai-assist/context-providers/opportunity.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/ticket.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/ai-assist.test.ts","frontend/.env.example","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/composables/usePageAIAssist.ts","frontend/src/env.d.ts","package.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","scripts/audit-ai-assist-context-providers.ts","scripts/harness/audit-registry.ts"]},"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":5229727,"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-28T09:36: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777349450
|
1777349450
|
0
|
1777349450
|
1777349450
|
|
|
0
|
Edit
Delete
|