|
23757
|
Implement H3 storyboard generation workflow
|
90
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
05bdd61017321f0434f28c8f0cf83946523d3cd1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8d38d4378b829970bdaf5ccb811e872883fb9d66","after":"05bdd61017321f0434f28c8f0cf83946523d3cd1","compare_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/compare/8d38d4378b829970bdaf5ccb811e872883fb9d66...05bdd61017321f0434f28c8f0cf83946523d3cd1","commits":[{"id":"05bdd61017321f0434f28c8f0cf83946523d3cd1","message":"Implement H3 storyboard generation workflow\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/05bdd61017321f0434f28c8f0cf83946523d3cd1","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-08T21:56:45-07:00","added":["apps/web/src/features/h3/components/InferenceProfileSelector.tsx","apps/web/src/features/h3/lib/display.test.ts","apps/web/src/lib/atomic-file.ts","apps/web/src/lib/h3-model-manifest.ts","docs/workstation-deployment.md","packages/config/h3-model-manifest.json","packages/contracts/src/h3-storyboard-import.test.ts","packages/contracts/src/h3-storyboard-import.ts","scripts/check-workstation-deployment.mjs","scripts/manage-launchd.sh","scripts/prepare-production.sh","scripts/render-launchd-plist.mjs","scripts/runtime_backup.py","scripts/start-production.sh","scripts/verify-production-build.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","README.md","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/src/features/h3/api/h3-api.ts","apps/web/src/features/h3/components/H3Workspace.tsx","apps/web/src/features/h3/components/StoryboardWorkspace.tsx","apps/web/src/features/h3/lib/display.ts","apps/web/src/lib/h3-jobs.ts","apps/web/src/lib/h3-model-manager.ts","apps/web/src/lib/h3-storyboards.ts","apps/web/tsconfig.json","docs/domain-glossary.md","docs/domain/h3-studio-blueprint.md","docs/domain/owner-matrix.md","docs/domain/storyboard-blueprint.md","docs/governance-experience.md","generate.py","package.json","packages/contracts/src/h3-storyboard.test.ts","packages/contracts/src/h3-storyboard.ts","packages/contracts/src/h3.test.ts","packages/contracts/src/h3.ts","packages/contracts/src/index.ts","packages/contracts/tsconfig.tsbuildinfo","requirements.txt","scripts/bootstrap.sh","scripts/check-ui-acceptance.mjs","scripts/prepare_model.py"]}],"total_commits":0,"head_commit":{"id":"05bdd61017321f0434f28c8f0cf83946523d3cd1","message":"Implement H3 storyboard generation workflow\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/05bdd61017321f0434f28c8f0cf83946523d3cd1","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-08T21:56:45-07:00","added":["apps/web/src/features/h3/components/InferenceProfileSelector.tsx","apps/web/src/features/h3/lib/display.test.ts","apps/web/src/lib/atomic-file.ts","apps/web/src/lib/h3-model-manifest.ts","docs/workstation-deployment.md","packages/config/h3-model-manifest.json","packages/contracts/src/h3-storyboard-import.test.ts","packages/contracts/src/h3-storyboard-import.ts","scripts/check-workstation-deployment.mjs","scripts/manage-launchd.sh","scripts/prepare-production.sh","scripts/render-launchd-plist.mjs","scripts/runtime_backup.py","scripts/start-production.sh","scripts/verify-production-build.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","README.md","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/src/features/h3/api/h3-api.ts","apps/web/src/features/h3/components/H3Workspace.tsx","apps/web/src/features/h3/components/StoryboardWorkspace.tsx","apps/web/src/features/h3/lib/display.ts","apps/web/src/lib/h3-jobs.ts","apps/web/src/lib/h3-model-manager.ts","apps/web/src/lib/h3-storyboards.ts","apps/web/tsconfig.json","docs/domain-glossary.md","docs/domain/h3-studio-blueprint.md","docs/domain/owner-matrix.md","docs/domain/storyboard-blueprint.md","docs/governance-experience.md","generate.py","package.json","packages/contracts/src/h3-storyboard.test.ts","packages/contracts/src/h3-storyboard.ts","packages/contracts/src/h3.test.ts","packages/contracts/src/h3.ts","packages/contracts/src/index.ts","packages/contracts/tsconfig.tsbuildinfo","requirements.txt","scripts/bootstrap.sh","scripts/check-ui-acceptance.mjs","scripts/prepare_model.py"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":996,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T11:30: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
|
6
|
1788929811
|
1788930852
|
0
|
1788929809
|
1788930853
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23559
|
docs: H3 能力图谱固化(Context-to-AudioVideo 定位,证据分级)
|
90
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
8d38d4378b829970bdaf5ccb811e872883fb9d66
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cc4fd9ff70eff1c23556db5da7ac36b0639383e8","after":"8d38d4378b829970bdaf5ccb811e872883fb9d66","compare_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/compare/cc4fd9ff70eff1c23556db5da7ac36b0639383e8...8d38d4378b829970bdaf5ccb811e872883fb9d66","commits":[{"id":"8d38d4378b829970bdaf5ccb811e872883fb9d66","message":"docs: H3 能力图谱固化(Context-to-AudioVideo 定位,证据分级)\n\n用户研究简报 + 官方文档要点入库 docs/domain/h3-capability-map.md:\n- ✅ 本机已验证:三工作流 _workflow_map、ref2va 参考硬约束\n (图≤9/视频≤3含音轨/音频≤3不可单独/总≤12/顺序即语义/帧率必须随媒体)\n- 📄 官方引用:关系分级、运镜词表、多镜头 schema、声音四类、\n 完整系统(Context-IR/Regenerate-2K)≠开放权重 等\n- 路线图锚点:分镜段 → 可挂参考的音画生成单元(fl2va 先行、ref2va 随后)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/8d38d4378b829970bdaf5ccb811e872883fb9d66","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:29:02-07:00","added":["docs/domain/h3-capability-map.md"],"removed":[],"modified":["docs/domain/storyboard-blueprint.md"]}],"total_commits":0,"head_commit":{"id":"8d38d4378b829970bdaf5ccb811e872883fb9d66","message":"docs: H3 能力图谱固化(Context-to-AudioVideo 定位,证据分级)\n\n用户研究简报 + 官方文档要点入库 docs/domain/h3-capability-map.md:\n- ✅ 本机已验证:三工作流 _workflow_map、ref2va 参考硬约束\n (图≤9/视频≤3含音轨/音频≤3不可单独/总≤12/顺序即语义/帧率必须随媒体)\n- 📄 官方引用:关系分级、运镜词表、多镜头 schema、声音四类、\n 完整系统(Context-IR/Regenerate-2K)≠开放权重 等\n- 路线图锚点:分镜段 → 可挂参考的音画生成单元(fl2va 先行、ref2va 随后)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/8d38d4378b829970bdaf5ccb811e872883fb9d66","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:29:02-07:00","added":["docs/domain/h3-capability-map.md"],"removed":[],"modified":["docs/domain/storyboard-blueprint.md"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":985,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T11:23: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
|
6
|
1788060812
|
1788060842
|
0
|
1788060627
|
1788060844
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23558
|
docs: 跨段一致性归因修正——t2va 工作流边界而非模型上限
|
90
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
cc4fd9ff70eff1c23556db5da7ac36b0639383e8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","after":"cc4fd9ff70eff1c23556db5da7ac36b0639383e8","compare_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/compare/1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493...cc4fd9ff70eff1c23556db5da7ac36b0639383e8","commits":[{"id":"cc4fd9ff70eff1c23556db5da7ac36b0639383e8","message":"docs: 跨段一致性归因修正——t2va 工作流边界而非模型上限\n\n本机 diffusers 管线实查(modular_blocks_minimax_h3 _workflow_map):H3 实为\nt2va / fl2va / ref2va 三工作流。fl2va(首尾帧锚定)与 t2va 共用已缓存的 62G\ntransformer 分区、零下载可用;ref2va(全模态有序参考,\u003cPicture i\u003e/\u003cAudio j\u003e/\n\u003cVideo k\u003e 标签语义)需另下 ~62GB transformer_ref。UI 提示、README、契约注释、\n蓝图、CLAUDE.md 真源地图五处按实归因;e2e 锚定短语保持不变。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/cc4fd9ff70eff1c23556db5da7ac36b0639383e8","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:23:45-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","apps/web/src/features/h3/components/StoryboardWorkspace.tsx","docs/domain/storyboard-blueprint.md","packages/contracts/src/h3-storyboard.ts","packages/contracts/tsconfig.tsbuildinfo"]}],"total_commits":0,"head_commit":{"id":"cc4fd9ff70eff1c23556db5da7ac36b0639383e8","message":"docs: 跨段一致性归因修正——t2va 工作流边界而非模型上限\n\n本机 diffusers 管线实查(modular_blocks_minimax_h3 _workflow_map):H3 实为\nt2va / fl2va / ref2va 三工作流。fl2va(首尾帧锚定)与 t2va 共用已缓存的 62G\ntransformer 分区、零下载可用;ref2va(全模态有序参考,\u003cPicture i\u003e/\u003cAudio j\u003e/\n\u003cVideo k\u003e 标签语义)需另下 ~62GB transformer_ref。UI 提示、README、契约注释、\n蓝图、CLAUDE.md 真源地图五处按实归因;e2e 锚定短语保持不变。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/cc4fd9ff70eff1c23556db5da7ac36b0639383e8","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:23:45-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","apps/web/src/features/h3/components/StoryboardWorkspace.tsx","docs/domain/storyboard-blueprint.md","packages/contracts/src/h3-storyboard.ts","packages/contracts/tsconfig.tsbuildinfo"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":933,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T11:15:47+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
4
|
0
|
1788060627
|
0
|
1788060230
|
1788060627
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23556
|
docs: 发布状态快照更新——远端已建并 SHA 对齐(G14 收窄到 CI 证据)
|
90
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"46dce73b5cfc83e6e6cfb87922f22faee76fdd28","after":"1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","compare_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/compare/46dce73b5cfc83e6e6cfb87922f22faee76fdd28...1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","commits":[{"id":"1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","message":"docs: 发布状态快照更新——远端已建并 SHA 对齐(G14 收窄到 CI 证据)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:15:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","message":"docs: 发布状态快照更新——远端已建并 SHA 对齐(G14 收窄到 CI 证据)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/1c5b6ec9fef8d18a24b5bcd6a44665279fb3f493","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T20:15:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":906,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T11:14: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
|
6
|
1788059948
|
1788059969
|
0
|
1788059747
|
1788059970
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23553
|
fix: runtime 验收测试步串行化 + G18 回灌今晚实时抖动实锤
|
90
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
46dce73b5cfc83e6e6cfb87922f22faee76fdd28
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","after":"46dce73b5cfc83e6e6cfb87922f22faee76fdd28","compare_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/compare/dcd85b10ac06ae862fe3789b6bd548838487b8fe...46dce73b5cfc83e6e6cfb87922f22faee76fdd28","commits":[{"id":"46dce73b5cfc83e6e6cfb87922f22faee76fdd28","message":"fix: runtime 验收测试步串行化 + G18 回灌今晚实时抖动实锤\n\n- check-runtime-acceptance 测试步加 --concurrency=1:双后端共库并行时\n TRUNCATE/领取/连接注册在表锁相撞(双进程并发最小复现证实)\n- 串行下仍偶发整文件投递全灭 → 指向 RedisModule 订阅启动竞态,\n 关闭条件(订阅就绪屏障 / 分库恢复并行)记入 G18\n- 基线地板收紧:testsPassed 172 / uiTestsPassed 10\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/46dce73b5cfc83e6e6cfb87922f22faee76fdd28","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T19:36:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/check-runtime-acceptance.mjs"]},{"id":"fe0779750f85dd39efc62643868fa45a373f2833","message":"feat: 多段分镜工作流(业务模块接待全流程落地 + 真实端到端验证)\n\n- 契约/状态机单源 contracts/h3-storyboard.ts(draft→generating→assembling→completed,\n failed/cancelled 可续跑、completed 仅 restart)+ 11 条契约测试;字段 schema 与\n 17n+5 帧数换算收敛为 h3.ts 单源\n- 编排 lib/h3-storyboards.ts:段状态派生自 H3Job;读时 reconcile + 15s 定时器兜底推进;\n 与单段生成共用互斥(advance 不持锁调 createJob,防自锁死);硬切拼接\n scripts/concat_segments.py(stream-copy 优先,回退重编码)\n- /storyboard 独立工作台页(分段编辑器/队列进度/成片预览)+ 6 个 API 路由 +\n Range 流式单源 http-range.ts;e2e 新增 2 用例(装配+边界提示 / API 生命周期与 409)\n- 真实端到端验证通过(2026-08-29,256²/2 步双段):自动推进、拼接成片 10.38s、\n 互斥/失败/续跑路径全实测——过程中实锤并修复两起环境事故:\n * bootstrap 自动 cp .env.example 把缓存指向空项目目录→触发全量重下(HC1):\n 模板缓存默认改为跟随用户级 + 就绪标记绑定缓存目录与 revision\n * xet/CAS 通道静默挂死(HC2):默认禁用 xet(显式 H3_HF_ENABLE_XET 才启用,\n 三入口 setdefault 单源)+ HF_HUB_ETAG_TIMEOUT=5\n- 蓝图/owner-matrix/词典/README/CLAUDE.md 动态区同步回灌\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/fe0779750f85dd39efc62643868fa45a373f2833","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T19:19:57-07:00","added":["apps/web/src/app/api/h3/storyboards/[id]/artifact/route.ts","apps/web/src/app/api/h3/storyboards/[id]/cancel/route.ts","apps/web/src/app/api/h3/storyboards/[id]/route.ts","apps/web/src/app/api/h3/storyboards/[id]/start/route.ts","apps/web/src/app/api/h3/storyboards/route.ts","apps/web/src/app/storyboard/page.tsx","apps/web/src/features/h3/components/StoryboardWorkspace.tsx","apps/web/src/features/h3/components/fields.tsx","apps/web/src/features/h3/lib/display.ts","apps/web/src/lib/h3-storyboards.ts","apps/web/src/lib/http-range.ts","docs/domain/storyboard-blueprint.md","packages/contracts/src/h3-storyboard.test.ts","packages/contracts/src/h3-storyboard.ts","scripts/concat_segments.py"],"removed":[],"modified":[".env.example","CLAUDE.md","README.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/api/h3/jobs/[id]/artifact/route.ts","apps/web/src/features/h3/api/h3-api.ts","apps/web/src/features/h3/components/H3Workspace.tsx","apps/web/src/lib/h3-environment.ts","apps/web/src/lib/h3-model-manager.ts","docs/domain-glossary.md","docs/domain/owner-matrix.md","generate.py","packages/contracts/src/h3.ts","packages/contracts/src/index.ts","packages/contracts/tsconfig.tsbuildinfo","scripts/prepare_model.py"]},{"id":"cfdef16f1839583dfdbd8ac3c59ccf966238cdfc","message":"feat: 任务参数摘要与一键复用 + CI 库名重绑定\n\n- 任务行展示 分辨率/帧数/步数/seed 摘要;动作按钮群移至右上(复用参数 + 删除)\n- 复用参数:把历史任务的提示词与全部参数一键填回创作表单(浏览器实测验证)\n- 下载文件名改为 minimax-h3-\u003cid前8位\u003e.mp4\n- .github/workflows/governance.yml 三处 base_framework_ci → minimax_h3_studio_ci\n (否则未来远端 CI 必被 G15 前缀守卫拦截)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/cfdef16f1839583dfdbd8ac3c59ccf966238cdfc","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:29:09-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","apps/web/src/features/h3/components/H3Workspace.tsx"]},{"id":"137f4a260ccdcda651cc241c7970efc666042c88","message":"feat: H1 暴露面收窄 + 任务耗时展示 + 清理继承的嵌套 lockfile\n\n- web dev 默认绑定 127.0.0.1(launcher --host 仍可显式覆盖,后者生效已实测)\n- 完成任务在预览区与任务列表展示真实耗时(failed/cancelled 不展示,防 reconcile 虚高)\n- 删除源仓继承的三个嵌套 pnpm-lock.yaml(workspace 只认根 lockfile,\n 嵌套件误导 Next 根目录推断)\n- CLAUDE.md H1 条目按收口事实收窄\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/137f4a260ccdcda651cc241c7970efc666042c88","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:16:13-07:00","added":[],"removed":["apps/api-fastify/pnpm-lock.yaml","apps/api-nestjs/pnpm-lock.yaml","apps/web/pnpm-lock.yaml"],"modified":[".claude/launch.json","CLAUDE.md","apps/web/package.json","apps/web/src/features/h3/components/H3Workspace.tsx"]}],"total_commits":0,"head_commit":{"id":"46dce73b5cfc83e6e6cfb87922f22faee76fdd28","message":"fix: runtime 验收测试步串行化 + G18 回灌今晚实时抖动实锤\n\n- check-runtime-acceptance 测试步加 --concurrency=1:双后端共库并行时\n TRUNCATE/领取/连接注册在表锁相撞(双进程并发最小复现证实)\n- 串行下仍偶发整文件投递全灭 → 指向 RedisModule 订阅启动竞态,\n 关闭条件(订阅就绪屏障 / 分库恢复并行)记入 G18\n- 基线地板收紧:testsPassed 172 / uiTestsPassed 10\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/46dce73b5cfc83e6e6cfb87922f22faee76fdd28","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T19:36:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/check-runtime-acceptance.mjs"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":725,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T09:10:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788059669
|
1788059693
|
0
|
1788059668
|
1788059693
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23542
|
docs: 修正基线表用例计数(156)并说明地板归属
|
90
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
dcd85b10ac06ae862fe3789b6bd548838487b8fe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","message":"docs: 修正基线表用例计数(156)并说明地板归属\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/dcd85b10ac06ae862fe3789b6bd548838487b8fe","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:07:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},{"id":"3de844a88e3c87510517038d98edbb9eeeb6ff30","message":"chore: 收口独立项目启动预检与治理基线\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/3de844a88e3c87510517038d98edbb9eeeb6ff30","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:04:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/preflight.py","scripts/start.sh"]},{"id":"11cf6a57829c8ce0ff3ccc8dd683d07e5b65b298","message":"feat: 增加 MiniMax H3 一键启动入口\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/11cf6a57829c8ce0ff3ccc8dd683d07e5b65b298","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:03:23-07:00","added":["scripts/lib/h3-runtime.sh","scripts/start.sh","start.command"],"removed":[],"modified":["README.md","package.json","scripts/bootstrap.sh"]},{"id":"86a8d3115337fa79d9a3ce48e2dfa51dd07ad44f","message":"feat: 完善 MiniMax H3 独立项目治理与验收\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/86a8d3115337fa79d9a3ce48e2dfa51dd07ad44f","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:02:59-07:00","added":["apps/web/src/app/framework/page.tsx","docs/domain/h3-studio-blueprint.md"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/domain-glossary.md","docs/domain/owner-matrix.md"]},{"id":"1337ab5545eee3d0e41f950d4a4617ea325ab916","message":"chore: 初始化 minimax-h3-studio 派生仓(框架迁移 + H3 工作台 + 治理收口)\n\n- 基础框架 bootstrap 迁移产物(源 base-framework@5399109)+ MiniMax H3 生成工作台\n- H3 修复:生成/下载服务端双向互斥锁、任务 id 校验、PID 复用识别、\n Range 视频流、任务删除、采样 ETA、MPS 回退单源、h3 契约测试\n- 治理收口:清除 chat 幽灵空目录、移除源仓 OS 产品载荷(kernel.products.json 空载 +\n os-product 门禁空载分支,负向已验证)、README 对齐文档真相\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/1337ab5545eee3d0e41f950d4a4617ea325ab916","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T06:51:24-07:00","added":[".agents/skills/derived-project-framework-sync/SKILL.md",".agents/skills/derived-project-framework-sync/assets/framework-migration.template.md",".agents/skills/derived-project-framework-sync/references/experience-catalog.md",".agents/skills/derived-project-framework-sync/references/migration-protocol.md",".agents/skills/derived-project-framework-sync/scripts/plan-migration.mjs",".agents/skills/derived-project-framework-sync/scripts/record-migration.mjs",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".env.example",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore",".venv","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/api/h3/generate/route.ts","apps/web/src/app/api/h3/jobs/[id]/artifact/route.ts","apps/web/src/app/api/h3/jobs/[id]/cancel/route.ts","apps/web/src/app/api/h3/jobs/[id]/log/route.ts","apps/web/src/app/api/h3/jobs/[id]/route.ts","apps/web/src/app/api/h3/jobs/route.ts","apps/web/src/app/api/h3/model/cancel/route.ts","apps/web/src/app/api/h3/model/log/route.ts","apps/web/src/app/api/h3/model/route.ts","apps/web/src/app/api/h3/status/route.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/h3/api/h3-api.ts","apps/web/src/features/h3/components/H3Workspace.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/h3-environment.ts","apps/web/src/lib/h3-jobs.ts","apps/web/src/lib/h3-lock.ts","apps/web/src/lib/h3-model-manager.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/os-product-extension.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","generate.py","governance.registry.json","governance.registry.schema.json","kernel.products.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/h3.test.ts","packages/contracts/src/h3.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","packages/contracts/tsconfig.tsbuildinfo","pnpm-lock.yaml","pnpm-workspace.yaml","reports/design-audit/01-current-studio.png","reports/design-audit/02-optimized-studio.png","reports/design-audit/03-final-studio.png","requirements.txt","scripts/bootstrap.sh","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","scripts/preflight.py","scripts/prepare_model.py","scripts/run.sh","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"dcd85b10ac06ae862fe3789b6bd548838487b8fe","message":"docs: 修正基线表用例计数(156)并说明地板归属\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio/commit/dcd85b10ac06ae862fe3789b6bd548838487b8fe","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-29T18:07:34-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":90,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"minimax-h3-studio","full_name":"luoanwu/minimax-h3-studio","description":"MiniMax H3 本地视频生成 Studio:模型下载、管理、加载、采样与交付工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio/languages","html_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/minimax-h3-studio","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/minimax-h3-studio.git","clone_url":"https://gitea.g-hi.com/luoanwu/minimax-h3-studio.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:07:20+08:00","updated_at":"2026-08-30T09:10:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788052201
|
1788052223
|
0
|
1788052201
|
1788052224
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23538
|
Expand governance controls and cross-layer runtime Expand governance controls and cross-layer runtime validation...
|
84
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f2a674de3343d5031dee856edd261194709b727f","after":"4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/compare/f2a674de3343d5031dee856edd261194709b727f...4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","commits":[{"id":"4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","message":"Expand governance controls and cross-layer runtime validation\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-27T06:17:02-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/zustand-store/SKILL.md",".dockerignore","Dockerfile","apps/api-fastify/prisma/migrations/20260827120000_add_knowledge_index_retry/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_add_knowledge_chunks/migration.sql","apps/api-fastify/src/modules/knowledge/knowledge-indexer.ts","apps/api-fastify/src/plugins/api-error-handler.ts","apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/test/auth.jwt.acceptance.test.ts","apps/api-fastify/test/fixtures/outbox-multiprocess-worker.ts","apps/api-fastify/test/health.degraded.test.ts","apps/api-fastify/test/http-rate-limit.redis.test.ts","apps/api-fastify/test/job.failed.exhaustion.test.ts","apps/api-fastify/test/knowledge-index.retry.test.ts","apps/api-fastify/test/observability.otlp.test.ts","apps/api-fastify/test/outbox.lifecycle.test.ts","apps/api-fastify/test/outbox.multiprocess.test.ts","apps/api-nestjs/prisma/migrations/20260827120000_add_knowledge_index_retry/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_add_knowledge_chunks/migration.sql","apps/api-nestjs/src/auth/auth-request.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/auth.service.ts","apps/api-nestjs/src/auth/authentication.guard.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/events/dead-letter-replay.ts","apps/api-nestjs/src/knowledge/knowledge-index.service.ts","apps/api-nestjs/src/observability/observability.service.ts","apps/api-nestjs/src/ops/replay-dead-letter.ts","apps/api-nestjs/test/auth.jwt.acceptance.test.ts","apps/api-nestjs/test/backend.behavior.parity.test.ts","apps/api-nestjs/test/health.degraded.test.ts","apps/api-nestjs/test/job.failed.exhaustion.test.ts","apps/api-nestjs/test/knowledge-index.retry.test.ts","apps/api-nestjs/test/observability.otlp.test.ts","apps/api-nestjs/test/outbox.replay.test.ts","apps/api-nestjs/vitest.parity.config.ts","apps/web/next.config.mjs","compose.production.yml","docs/outbox-operations.md","docs/production-operations.md","packages/auth/package.json","packages/auth/src/auth.test.ts","packages/auth/src/http-rate-limit.ts","packages/auth/src/index.ts","packages/auth/tsconfig.json","packages/contracts/src/knowledge-index.test.ts","packages/contracts/src/redis-connection.test.ts","packages/contracts/src/redis-connection.ts","packages/knowledge-retrieval/src/indexing.test.ts","packages/knowledge-retrieval/src/indexing.ts","packages/observability/package.json","packages/observability/src/index.ts","packages/observability/src/runtime.test.ts","packages/observability/src/runtime.ts","packages/observability/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260827140000_add_knowledge_index_retry.sql","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260827150000_add_knowledge_chunks.sql","products/juhai.knowledgecloud/src/indexing.ts","reports/agent-skill-sync.latest.json","reports/auth-governance.latest.json","reports/backend-behavior-parity.latest.json","reports/container-acceptance.latest.json","reports/disaster-recovery.latest.json","reports/knowledge-index.latest.json","reports/observability.latest.json","reports/outbox-operations.latest.json","reports/production-operations.latest.json","reports/report-provenance.latest.json","reports/runtime-failure-coverage.latest.json","scripts/check-agent-skill-sync.mjs","scripts/check-auth-governance.mjs","scripts/check-backend-behavior-parity.mjs","scripts/check-container-acceptance.mjs","scripts/check-disaster-recovery.mjs","scripts/check-knowledge-index-governance.mjs","scripts/check-observability-governance.mjs","scripts/check-outbox-operations.mjs","scripts/check-production-operations.mjs","scripts/check-report-provenance.mjs","scripts/check-runtime-failure-coverage.mjs","scripts/lib/governance-baseline.mjs"],"removed":["apps/web/next.config.ts"],"modified":[".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.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/events/realtime-stats.controller.ts","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.module.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/components/RealtimeBar.tsx","apps/web/src/features/knowledge/api/knowledge-api.ts","apps/web/src/features/knowledge/components/KnowledgeWorkbench.tsx","apps/web/src/features/knowledge/hooks/use-knowledge.ts","apps/web/src/store/realtime.ts","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","kernel.products.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/knowledge-retrieval.test.ts","packages/contracts/src/knowledge.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/tsconfig.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/retrieval.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/os-product-live.latest.json","reports/os-product.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-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-migrations.mjs","scripts/check-os-product.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","turbo.json"]}],"total_commits":0,"head_commit":{"id":"4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","message":"Expand governance controls and cross-layer runtime validation\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/4459ca7bf19df30ae3879f2027b7fb05b3e3ba2d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-27T06:17:02-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/zustand-store/SKILL.md",".dockerignore","Dockerfile","apps/api-fastify/prisma/migrations/20260827120000_add_knowledge_index_retry/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_add_knowledge_chunks/migration.sql","apps/api-fastify/src/modules/knowledge/knowledge-indexer.ts","apps/api-fastify/src/plugins/api-error-handler.ts","apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/test/auth.jwt.acceptance.test.ts","apps/api-fastify/test/fixtures/outbox-multiprocess-worker.ts","apps/api-fastify/test/health.degraded.test.ts","apps/api-fastify/test/http-rate-limit.redis.test.ts","apps/api-fastify/test/job.failed.exhaustion.test.ts","apps/api-fastify/test/knowledge-index.retry.test.ts","apps/api-fastify/test/observability.otlp.test.ts","apps/api-fastify/test/outbox.lifecycle.test.ts","apps/api-fastify/test/outbox.multiprocess.test.ts","apps/api-nestjs/prisma/migrations/20260827120000_add_knowledge_index_retry/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_add_knowledge_chunks/migration.sql","apps/api-nestjs/src/auth/auth-request.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/auth.service.ts","apps/api-nestjs/src/auth/authentication.guard.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/events/dead-letter-replay.ts","apps/api-nestjs/src/knowledge/knowledge-index.service.ts","apps/api-nestjs/src/observability/observability.service.ts","apps/api-nestjs/src/ops/replay-dead-letter.ts","apps/api-nestjs/test/auth.jwt.acceptance.test.ts","apps/api-nestjs/test/backend.behavior.parity.test.ts","apps/api-nestjs/test/health.degraded.test.ts","apps/api-nestjs/test/job.failed.exhaustion.test.ts","apps/api-nestjs/test/knowledge-index.retry.test.ts","apps/api-nestjs/test/observability.otlp.test.ts","apps/api-nestjs/test/outbox.replay.test.ts","apps/api-nestjs/vitest.parity.config.ts","apps/web/next.config.mjs","compose.production.yml","docs/outbox-operations.md","docs/production-operations.md","packages/auth/package.json","packages/auth/src/auth.test.ts","packages/auth/src/http-rate-limit.ts","packages/auth/src/index.ts","packages/auth/tsconfig.json","packages/contracts/src/knowledge-index.test.ts","packages/contracts/src/redis-connection.test.ts","packages/contracts/src/redis-connection.ts","packages/knowledge-retrieval/src/indexing.test.ts","packages/knowledge-retrieval/src/indexing.ts","packages/observability/package.json","packages/observability/src/index.ts","packages/observability/src/runtime.test.ts","packages/observability/src/runtime.ts","packages/observability/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260827140000_add_knowledge_index_retry.sql","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260827150000_add_knowledge_chunks.sql","products/juhai.knowledgecloud/src/indexing.ts","reports/agent-skill-sync.latest.json","reports/auth-governance.latest.json","reports/backend-behavior-parity.latest.json","reports/container-acceptance.latest.json","reports/disaster-recovery.latest.json","reports/knowledge-index.latest.json","reports/observability.latest.json","reports/outbox-operations.latest.json","reports/production-operations.latest.json","reports/report-provenance.latest.json","reports/runtime-failure-coverage.latest.json","scripts/check-agent-skill-sync.mjs","scripts/check-auth-governance.mjs","scripts/check-backend-behavior-parity.mjs","scripts/check-container-acceptance.mjs","scripts/check-disaster-recovery.mjs","scripts/check-knowledge-index-governance.mjs","scripts/check-observability-governance.mjs","scripts/check-outbox-operations.mjs","scripts/check-production-operations.mjs","scripts/check-report-provenance.mjs","scripts/check-runtime-failure-coverage.mjs","scripts/lib/governance-baseline.mjs"],"removed":["apps/web/next.config.ts"],"modified":[".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.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/events/realtime-stats.controller.ts","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.module.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/components/RealtimeBar.tsx","apps/web/src/features/knowledge/api/knowledge-api.ts","apps/web/src/features/knowledge/components/KnowledgeWorkbench.tsx","apps/web/src/features/knowledge/hooks/use-knowledge.ts","apps/web/src/store/realtime.ts","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","kernel.products.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/knowledge-retrieval.test.ts","packages/contracts/src/knowledge.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/tsconfig.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/retrieval.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/os-product-live.latest.json","reports/os-product.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-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-migrations.mjs","scripts/check-os-product.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","turbo.json"]},"repository":{"id":84,"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-knowledge-cloud","full_name":"luoanwu/juhai-knowledge-cloud","description":"巨嗨知识云:受治理的知识唯一真源与混合证据检索","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":698,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-knowledge-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud.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:45:53+08:00","updated_at":"2026-08-26T09:47:06+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1787836636
|
1787836653
|
0
|
1787836636
|
1787836655
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23529
|
feat(knowledge): add governed hybrid evidence retr feat(knowledge): add governed hybrid evidence retrieval...
|
84
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
f2a674de3343d5031dee856edd261194709b727f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"f2a674de3343d5031dee856edd261194709b727f","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"f2a674de3343d5031dee856edd261194709b727f","message":"feat(knowledge): add governed hybrid evidence retrieval\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/f2a674de3343d5031dee856edd261194709b727f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:32-07:00","added":["apps/api-fastify/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","apps/api-nestjs/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","packages/contracts/src/knowledge-retrieval.test.ts","packages/knowledge-retrieval/package.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","packages/knowledge-retrieval/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260826030000_add_hybrid_evidence_retrieval.sql","products/juhai.knowledgecloud/src/retrieval.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","kernel.products.json","packages/contracts/src/knowledge.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-live.latest.json","reports/os-product.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-os-product.mjs"]},{"id":"e60d772bc7fba6aba92ee6becbeb1b68b2b28849","message":"feat: establish governed knowledge cloud product\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/e60d772bc7fba6aba92ee6becbeb1b68b2b28849","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:06:03-07:00","added":["apps/api-fastify/prisma/migrations/20260825180000_add_knowledge_cloud_core/migration.sql","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/prisma/migrations/20260825180000_add_knowledge_cloud_core/migration.sql","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.module.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/knowledge.integration.test.ts","apps/web/src/features/knowledge/api/knowledge-api.ts","apps/web/src/features/knowledge/components/KnowledgeWorkbench.tsx","apps/web/src/features/knowledge/hooks/use-knowledge.ts","docs/adr/0010-os-loadable-enterprise-knowledge-product.md","docs/domain/knowledge-cloud-blueprint.md","kernel.products.json","packages/contracts/src/knowledge.ts","products/juhai.knowledgecloud/README.md","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260825190000_create_knowledge_cloud.sql","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/product.manifest.json","products/juhai.knowledgecloud/src/access.ts","products/juhai.knowledgecloud/src/contracts.ts","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/manifest.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","products/juhai.knowledgecloud/src/web.tsx","reports/os-product-live.latest.json","reports/os-product.latest.json","scripts/check-os-product.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","governance.registry.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-migrations.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"64bf2720bce803978337aeabbadf1a88d732fa43","message":"chore: bind static governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/64bf2720bce803978337aeabbadf1a88d732fa43","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:18:01-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"7322783bb7233c3c586f15cb33c7963f0ba605ce","message":"docs: record local framework acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/7322783bb7233c3c586f15cb33c7963f0ba605ce","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:17:40-07:00","added":["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"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md"]},{"id":"512b11bc5047f7776f3dde09b0f7344982afd354","message":"chore: migrate governed framework to juhai knowledge cloud\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/512b11bc5047f7776f3dde09b0f7344982afd354","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:08:02-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"f2a674de3343d5031dee856edd261194709b727f","message":"feat(knowledge): add governed hybrid evidence retrieval\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/f2a674de3343d5031dee856edd261194709b727f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:32-07:00","added":["apps/api-fastify/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","apps/api-nestjs/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","packages/contracts/src/knowledge-retrieval.test.ts","packages/knowledge-retrieval/package.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","packages/knowledge-retrieval/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260826030000_add_hybrid_evidence_retrieval.sql","products/juhai.knowledgecloud/src/retrieval.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","kernel.products.json","packages/contracts/src/knowledge.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-live.latest.json","reports/os-product.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-os-product.mjs"]},"repository":{"id":84,"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-knowledge-cloud","full_name":"luoanwu/juhai-knowledge-cloud","description":"巨嗨知识云:受治理的知识唯一真源与混合证据检索","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-knowledge-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud.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:45:53+08:00","updated_at":"2026-08-26T09:47:05+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787708896
|
1787708917
|
0
|
1787708825
|
1787708918
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23567
|
feat(hr): implement governed HR v2 product foundat feat(hr): implement governed HR v2 product foundation...
|
83
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
c652cd634964e915a0a9895cc9a91be4381333b0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"c652cd634964e915a0a9895cc9a91be4381333b0","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"c652cd634964e915a0a9895cc9a91be4381333b0","message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c652cd634964e915a0a9895cc9a91be4381333b0","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:42:38-07:00","added":["apps/api-fastify/prisma/migrations/20260826030000_personnel_core_phase1/migration.sql","apps/api-fastify/prisma/migrations/20260826050000_personnel_delivery_receipts/migration.sql","apps/api-fastify/prisma/migrations/20260826060000_personnel_identity_links/migration.sql","apps/api-fastify/prisma/migrations/20260826070000_personnel_assignment_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826080000_personnel_data_quality_cases/migration.sql","apps/api-fastify/prisma/migrations/20260826090000_employment_documents/migration.sql","apps/api-fastify/prisma/migrations/20260826100000_person_merges/migration.sql","apps/api-fastify/prisma/migrations/20260826110000_employment_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826120000_person_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826130000_personnel_fact_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826140000_personnel_effective_time_runs/migration.sql","apps/api-fastify/prisma/migrations/20260826150000_outbox_deadletter_replays/migration.sql","apps/api-fastify/prisma/migrations/20260826160000_outbox_delivery_latency_index/migration.sql","apps/api-fastify/prisma/migrations/20260826170000_database_rls_roles/migration.sql","apps/api-fastify/prisma/migrations/20260826180000_personnel_approval_policy_snapshot/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_personnel_approval_policy_registry/migration.sql","apps/api-fastify/prisma/migrations/20260826200000_assignment_reporting_lines/migration.sql","apps/api-fastify/prisma/migrations/20260826210000_personnel_duplicate_candidates/migration.sql","apps/api-fastify/prisma/migrations/20260826210100_personnel_duplicate_candidate_storage/migration.sql","apps/api-fastify/prisma/migrations/20260826220000_identity_evidence_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826230000_employment_probation_facts/migration.sql","apps/api-fastify/prisma/migrations/20260827000000_personnel_delivery_policy_sets/migration.sql","apps/api-fastify/prisma/migrations/20260827010000_personnel_approval_cases/migration.sql","apps/api-fastify/prisma/migrations/20260827020000_personnel_approval_case_cancelled/migration.sql","apps/api-fastify/prisma/migrations/20260827020000_personnel_promotion_demotion/migration.sql","apps/api-fastify/prisma/migrations/20260827030000_prehire_resume/migration.sql","apps/api-fastify/prisma/migrations/20260827040000_enterprise_identity_principals/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_enterprise_identity_accounts/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_workforce_shift_patterns/migration.sql","apps/api-fastify/prisma/migrations/20260827070000_workforce_work_calendars/migration.sql","apps/api-fastify/prisma/migrations/20260827080000_workforce_shift_assignments/migration.sql","apps/api-fastify/prisma/migrations/20260827090000_workforce_attendance_sources/migration.sql","apps/api-fastify/prisma/migrations/20260827100000_workforce_raw_clock_records/migration.sql","apps/api-fastify/prisma/migrations/20260827110000_workforce_attendance_day_ledgers/migration.sql","apps/api-fastify/prisma/migrations/20260827120000_workforce_timesheet_periods/migration.sql","apps/api-fastify/prisma/migrations/20260827130000_leave_policy_requests/migration.sql","apps/api-fastify/prisma/migrations/20260827140000_payroll_configuration_intake/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_payroll_foundation/migration.sql","apps/api-fastify/prisma/migrations/20260827160000_payroll_profiles/migration.sql","apps/api-fastify/prisma/migrations/20260827170000_payroll_period_runs/migration.sql","apps/api-fastify/prisma/migrations/20260827180000_payroll_calculation_results/migration.sql","apps/api-fastify/prisma/migrations/20260827210000_payroll_payslip_publications/migration.sql","apps/api-fastify/prisma/migrations/20260827220000_attendance_exception_cases/migration.sql","apps/api-fastify/prisma/migrations/20260827230000_payroll_bonus_awards/migration.sql","apps/api-fastify/prisma/migrations/20260828000000_recruitment_requisitions_openings/migration.sql","apps/api-fastify/prisma/migrations/20260828010000_recruitment_candidates_applications/migration.sql","apps/api-fastify/prisma/migrations/20260828020000_recruitment_interviews/migration.sql","apps/api-fastify/prisma/migrations/20260828030000_payroll_payment_reconciliation/migration.sql","apps/api-fastify/prisma/migrations/20260828040000_enterprise_identity_sessions/migration.sql","apps/api-fastify/prisma/migrations/20260828050000_security_event_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260828060000_recruitment_offers/migration.sql","apps/api-fastify/prisma/migrations/20260828070000_performance_policy_cycles/migration.sql","apps/api-fastify/src/modules/enterprise-identity/enterprise-identity.service.ts","apps/api-fastify/src/modules/leave/leave.service.ts","apps/api-fastify/src/modules/local-identity-session.ts","apps/api-fastify/src/modules/outbox-operations.ts","apps/api-fastify/src/modules/payroll-configuration/payroll-configuration.service.ts","apps/api-fastify/src/modules/payroll-foundation/payroll-foundation.service.ts","apps/api-fastify/src/modules/payroll-payments/payroll-payments.service.ts","apps/api-fastify/src/modules/payroll-profiles/payroll-profiles.service.ts","apps/api-fastify/src/modules/payroll-readiness.service.ts","apps/api-fastify/src/modules/payroll-runs/payroll-runs.service.ts","apps/api-fastify/src/modules/performance/performance.service.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/src/modules/prehire/prehire.service.ts","apps/api-fastify/src/modules/recruitment/recruitment-offer.service.ts","apps/api-fastify/src/modules/recruitment/recruitment.service.ts","apps/api-fastify/src/modules/workforce-time/attendance-day-ledger.service.ts","apps/api-fastify/src/modules/workforce-time/attendance-source.service.ts","apps/api-fastify/src/modules/workforce-time/employee-attendance.service.ts","apps/api-fastify/src/modules/workforce-time/raw-clock-record.service.ts","apps/api-fastify/src/modules/workforce-time/shift-assignment.service.ts","apps/api-fastify/src/modules/workforce-time/timesheet-period.service.ts","apps/api-fastify/src/modules/workforce-time/work-calendar.service.ts","apps/api-fastify/src/modules/workforce-time/workforce-time.service.ts","apps/api-fastify/src/plugins/auth-jwks.ts","apps/api-fastify/src/plugins/database-rls-request.ts","apps/api-fastify/src/plugins/personnel-effective-time.ts","apps/api-fastify/src/routes/enterprise-identity.ts","apps/api-fastify/src/routes/leave.ts","apps/api-fastify/src/routes/outbox-operations.ts","apps/api-fastify/src/routes/payroll-configuration.ts","apps/api-fastify/src/routes/payroll-foundation.ts","apps/api-fastify/src/routes/payroll-payments.ts","apps/api-fastify/src/routes/payroll-profiles.ts","apps/api-fastify/src/routes/payroll-readiness.ts","apps/api-fastify/src/routes/payroll-runs.ts","apps/api-fastify/src/routes/performance.ts","apps/api-fastify/src/routes/personnel.ts","apps/api-fastify/src/routes/prehire.ts","apps/api-fastify/src/routes/recruitment.ts","apps/api-fastify/src/routes/workforce-time.ts","apps/api-fastify/test/auth.jwks.http.test.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-identity.http.test.ts","apps/api-fastify/test/leave.http.test.ts","apps/api-fastify/test/payroll-configuration.http.test.ts","apps/api-fastify/test/payroll-foundation.http.test.ts","apps/api-fastify/test/payroll-profiles.http.test.ts","apps/api-fastify/test/payroll-readiness.http.test.ts","apps/api-fastify/test/payroll-runs.http.test.ts","apps/api-fastify/test/performance.http.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-fastify/test/recruitment-offer.http.test.ts","apps/api-fastify/test/recruitment.http.test.ts","apps/api-fastify/test/users.atomicity.test.ts","apps/api-fastify/test/workforce-time.http.test.ts","apps/api-nestjs/prisma/migrations/20260826030000_personnel_core_phase1/migration.sql","apps/api-nestjs/prisma/migrations/20260826050000_personnel_delivery_receipts/migration.sql","apps/api-nestjs/prisma/migrations/20260826060000_personnel_identity_links/migration.sql","apps/api-nestjs/prisma/migrations/20260826070000_personnel_assignment_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826080000_personnel_data_quality_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260826090000_employment_documents/migration.sql","apps/api-nestjs/prisma/migrations/20260826100000_person_merges/migration.sql","apps/api-nestjs/prisma/migrations/20260826110000_employment_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826120000_person_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826130000_personnel_fact_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826140000_personnel_effective_time_runs/migration.sql","apps/api-nestjs/prisma/migrations/20260826150000_outbox_deadletter_replays/migration.sql","apps/api-nestjs/prisma/migrations/20260826160000_outbox_delivery_latency_index/migration.sql","apps/api-nestjs/prisma/migrations/20260826170000_database_rls_roles/migration.sql","apps/api-nestjs/prisma/migrations/20260826180000_personnel_approval_policy_snapshot/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_personnel_approval_policy_registry/migration.sql","apps/api-nestjs/prisma/migrations/20260826200000_assignment_reporting_lines/migration.sql","apps/api-nestjs/prisma/migrations/20260826210000_personnel_duplicate_candidates/migration.sql","apps/api-nestjs/prisma/migrations/20260826210100_personnel_duplicate_candidate_storage/migration.sql","apps/api-nestjs/prisma/migrations/20260826220000_identity_evidence_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826230000_employment_probation_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260827000000_personnel_delivery_policy_sets/migration.sql","apps/api-nestjs/prisma/migrations/20260827010000_personnel_approval_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260827020000_personnel_approval_case_cancelled/migration.sql","apps/api-nestjs/prisma/migrations/20260827020000_personnel_promotion_demotion/migration.sql","apps/api-nestjs/prisma/migrations/20260827030000_prehire_resume/migration.sql","apps/api-nestjs/prisma/migrations/20260827040000_enterprise_identity_principals/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_enterprise_identity_accounts/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_workforce_shift_patterns/migration.sql","apps/api-nestjs/prisma/migrations/20260827070000_workforce_work_calendars/migration.sql","apps/api-nestjs/prisma/migrations/20260827080000_workforce_shift_assignments/migration.sql","apps/api-nestjs/prisma/migrations/20260827090000_workforce_attendance_sources/migration.sql","apps/api-nestjs/prisma/migrations/20260827100000_workforce_raw_clock_records/migration.sql","apps/api-nestjs/prisma/migrations/20260827110000_workforce_attendance_day_ledgers/migration.sql","apps/api-nestjs/prisma/migrations/20260827120000_workforce_timesheet_periods/migration.sql","apps/api-nestjs/prisma/migrations/20260827130000_leave_policy_requests/migration.sql","apps/api-nestjs/prisma/migrations/20260827140000_payroll_configuration_intake/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_payroll_foundation/migration.sql","apps/api-nestjs/prisma/migrations/20260827160000_payroll_profiles/migration.sql","apps/api-nestjs/prisma/migrations/20260827170000_payroll_period_runs/migration.sql","apps/api-nestjs/prisma/migrations/20260827180000_payroll_calculation_results/migration.sql","apps/api-nestjs/prisma/migrations/20260827210000_payroll_payslip_publications/migration.sql","apps/api-nestjs/prisma/migrations/20260827220000_attendance_exception_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260827230000_payroll_bonus_awards/migration.sql","apps/api-nestjs/prisma/migrations/20260828000000_recruitment_requisitions_openings/migration.sql","apps/api-nestjs/prisma/migrations/20260828010000_recruitment_candidates_applications/migration.sql","apps/api-nestjs/prisma/migrations/20260828020000_recruitment_interviews/migration.sql","apps/api-nestjs/prisma/migrations/20260828030000_payroll_payment_reconciliation/migration.sql","apps/api-nestjs/prisma/migrations/20260828040000_enterprise_identity_sessions/migration.sql","apps/api-nestjs/prisma/migrations/20260828050000_security_event_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260828060000_recruitment_offers/migration.sql","apps/api-nestjs/prisma/migrations/20260828070000_performance_policy_cycles/migration.sql","apps/api-nestjs/src/common/auth-jwks-lifecycle.service.ts","apps/api-nestjs/src/common/local-identity-session.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.module.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.service.ts","apps/api-nestjs/src/events/outbox-operations.controller.ts","apps/api-nestjs/src/events/outbox-operations.service.ts","apps/api-nestjs/src/leave/leave.controller.ts","apps/api-nestjs/src/leave/leave.module.ts","apps/api-nestjs/src/leave/leave.service.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.controller.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.module.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.service.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.controller.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.module.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.service.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.controller.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.module.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.service.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.controller.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.module.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.service.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.controller.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.module.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.service.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.controller.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.module.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.service.ts","apps/api-nestjs/src/performance/performance.controller.ts","apps/api-nestjs/src/performance/performance.module.ts","apps/api-nestjs/src/performance/performance.service.ts","apps/api-nestjs/src/personnel/personnel-effective-time-dispatcher.service.ts","apps/api-nestjs/src/personnel/personnel.controller.ts","apps/api-nestjs/src/personnel/personnel.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/src/prehire/prehire.controller.ts","apps/api-nestjs/src/prehire/prehire.module.ts","apps/api-nestjs/src/prehire/prehire.service.ts","apps/api-nestjs/src/prisma/database-rls.interceptor.ts","apps/api-nestjs/src/prisma/manual-database-rls.decorator.ts","apps/api-nestjs/src/recruitment/recruitment-offer.controller.ts","apps/api-nestjs/src/recruitment/recruitment-offer.service.ts","apps/api-nestjs/src/recruitment/recruitment.controller.ts","apps/api-nestjs/src/recruitment/recruitment.module.ts","apps/api-nestjs/src/recruitment/recruitment.service.ts","apps/api-nestjs/src/sse/sse-connection.guard.ts","apps/api-nestjs/src/workforce-time/attendance-day-ledger.service.ts","apps/api-nestjs/src/workforce-time/attendance-source.service.ts","apps/api-nestjs/src/workforce-time/employee-attendance.service.ts","apps/api-nestjs/src/workforce-time/raw-clock-record.service.ts","apps/api-nestjs/src/workforce-time/shift-assignment.service.ts","apps/api-nestjs/src/workforce-time/timesheet-period.service.ts","apps/api-nestjs/src/workforce-time/work-calendar.service.ts","apps/api-nestjs/src/workforce-time/workforce-time.controller.ts","apps/api-nestjs/src/workforce-time/workforce-time.module.ts","apps/api-nestjs/src/workforce-time/workforce-time.service.ts","apps/api-nestjs/test/auth.jwks.http.test.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/leave.http.test.ts","apps/api-nestjs/test/payroll-configuration.http.test.ts","apps/api-nestjs/test/payroll-foundation.http.test.ts","apps/api-nestjs/test/payroll-profiles.http.test.ts","apps/api-nestjs/test/payroll-readiness.http.test.ts","apps/api-nestjs/test/payroll-runs.http.test.ts","apps/api-nestjs/test/performance.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/api-nestjs/test/recruitment-offer.http.test.ts","apps/api-nestjs/test/recruitment.http.test.ts","apps/api-nestjs/test/users.atomicity.test.ts","apps/api-nestjs/test/workforce-time.http.test.ts","apps/web/src/app/employee/attendance/page.tsx","apps/web/src/app/employee/payslips/page.tsx","apps/web/src/app/prehire/page.tsx","apps/web/src/components/ApprovalPolicyGovernancePanel.tsx","apps/web/src/components/DeliveryPolicyGovernancePanel.tsx","apps/web/src/components/EmployeeAttendancePortal.tsx","apps/web/src/components/EmployeePayslipPortal.tsx","apps/web/src/components/EmploymentExpiryView.tsx","apps/web/src/components/EnterpriseIdentityAccountPanel.tsx","apps/web/src/components/EnterpriseIdentityWorkbench.tsx","apps/web/src/components/EnterpriseIdentityWorkspace.tsx","apps/web/src/components/EventOperationsView.tsx","apps/web/src/components/LeaveWorkspace.tsx","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PayrollBonusAwardWorkbench.tsx","apps/web/src/components/PayrollConfigurationWorkbench.tsx","apps/web/src/components/PayrollFoundationWorkbench.tsx","apps/web/src/components/PayrollPaymentWorkbench.tsx","apps/web/src/components/PayrollProfilesWorkbench.tsx","apps/web/src/components/PayrollReadinessWorkspace.tsx","apps/web/src/components/PayrollRunsWorkbench.tsx","apps/web/src/components/PerformanceWorkspace.tsx","apps/web/src/components/PersonnelAlumniView.tsx","apps/web/src/components/PersonnelChangeWorkbench.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/PersonnelGovernanceView.tsx","apps/web/src/components/PersonnelProbationView.tsx","apps/web/src/components/PositionManagementDialog.tsx","apps/web/src/components/PrehireCandidateForm.tsx","apps/web/src/components/PrehireResumeWorkbench.tsx","apps/web/src/components/RealtimeBridge.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/components/RenewEmploymentDialog.tsx","apps/web/src/components/WorkforceAttendanceDayLedgerWorkbench.tsx","apps/web/src/components/WorkforceAttendanceExceptionWorkbench.tsx","apps/web/src/components/WorkforceAttendanceSourceWorkbench.tsx","apps/web/src/components/WorkforceCalendarWorkbench.tsx","apps/web/src/components/WorkforceRawClockWorkbench.tsx","apps/web/src/components/WorkforceShiftAssignmentWorkbench.tsx","apps/web/src/components/WorkforceShiftPatternWorkbench.tsx","apps/web/src/components/WorkforceTimeWorkspace.tsx","apps/web/src/components/WorkforceTimesheetPeriodWorkbench.tsx","design-qa.md","docs/domain/enterprise-document-signing-v2-blueprint.md","docs/domain/enterprise-identity-v2-blueprint.md","docs/domain/hr-v2-blueprint.md","docs/domain/hr-v2-data-classification.md","docs/domain/hr-v2-event-catalog.md","docs/domain/hr-v2-threat-model.md","docs/domain/os-product-layer-blueprint.md","docs/domain/payroll-rewards-v2-blueprint.md","docs/domain/performance-talent-v2-blueprint.md","docs/domain/personnel-core-blueprint.md","docs/domain/prehire-resume-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/domain/workforce-time-leave-v2-blueprint.md","docs/system-analysis-2026-08-28.md","packages/auth/package.json","packages/auth/src/identity.test.ts","packages/auth/src/identity.ts","packages/auth/src/index.test.ts","packages/auth/src/index.ts","packages/auth/src/payroll.test.ts","packages/auth/src/payroll.ts","packages/auth/src/prehire.test.ts","packages/auth/src/prehire.ts","packages/auth/src/recruitment.test.ts","packages/auth/src/recruitment.ts","packages/auth/tsconfig.json","packages/contracts/src/enterprise-document.ts","packages/contracts/src/enterprise-identity.ts","packages/contracts/src/enterprise-v2.test.ts","packages/contracts/src/leave.test.ts","packages/contracts/src/leave.ts","packages/contracts/src/outbox-operations.test.ts","packages/contracts/src/outbox-operations.ts","packages/contracts/src/payroll-bonuses.test.ts","packages/contracts/src/payroll-bonuses.ts","packages/contracts/src/payroll-calculation.test.ts","packages/contracts/src/payroll-calculation.ts","packages/contracts/src/payroll-configuration.test.ts","packages/contracts/src/payroll-configuration.ts","packages/contracts/src/payroll-foundation.test.ts","packages/contracts/src/payroll-foundation.ts","packages/contracts/src/payroll-payments.test.ts","packages/contracts/src/payroll-payments.ts","packages/contracts/src/payroll-payslips.ts","packages/contracts/src/payroll-profiles.test.ts","packages/contracts/src/payroll-profiles.ts","packages/contracts/src/payroll-readiness.test.ts","packages/contracts/src/payroll-readiness.ts","packages/contracts/src/payroll-runs.test.ts","packages/contracts/src/payroll-runs.ts","packages/contracts/src/performance.test.ts","packages/contracts/src/performance.ts","packages/contracts/src/personnel-access.test.ts","packages/contracts/src/personnel-access.ts","packages/contracts/src/personnel-effective-time.test.ts","packages/contracts/src/personnel-effective-time.ts","packages/contracts/src/personnel-temporal.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/src/prehire.ts","packages/contracts/src/recruitment.test.ts","packages/contracts/src/recruitment.ts","packages/contracts/src/workforce-time.test.ts","packages/contracts/src/workforce-time.ts","packages/database-rls/package.json","packages/database-rls/src/index.test.ts","packages/database-rls/src/index.ts","packages/database-rls/tsconfig.json","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","products/juhai.hr/readiness.json","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/delivery-audit-workbench.d.mts","products/juhai.hr/src/delivery-audit-workbench.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/master-data-workbench.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-change-workbench.d.mts","products/juhai.hr/src/personnel-change-workbench.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/personnel-governance-workbench.d.mts","products/juhai.hr/src/personnel-governance-workbench.mjs","products/juhai.hr/src/privacy-projections.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/database-rls.latest.json","reports/dual-backend-behavior.latest.json","reports/health-dependency-failure.latest.json","reports/os-product-bundle.latest.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/bundle-index.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/distribution.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/manifest.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/bundle-index.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/distribution.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/manifest.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/bundle-index.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/distribution.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/manifest.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/bundle-index.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/distribution.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/manifest.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/bundle-index.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/distribution.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/manifest.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/bundle-index.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/distribution.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/manifest.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/bundle-index.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/distribution.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/manifest.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/bundle-index.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/distribution.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/manifest.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/bundle-index.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/distribution.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/manifest.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/bundle-index.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/distribution.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/manifest.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/bundle-index.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/distribution.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/manifest.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/bundle-index.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/distribution.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/manifest.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/bundle-index.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/distribution.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/manifest.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/bundle-index.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/distribution.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/manifest.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/bundle-index.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/distribution.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/manifest.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/bundle-index.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/distribution.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/manifest.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/bundle-index.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/distribution.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/manifest.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/bundle-index.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/distribution.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/manifest.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/bundle-index.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/distribution.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/manifest.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/bundle-index.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/distribution.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/manifest.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/bundle-index.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/distribution.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/manifest.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/bundle-index.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/distribution.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/manifest.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/bundle-index.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/distribution.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/manifest.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/bundle-index.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/distribution.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/manifest.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/bundle-index.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/distribution.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/manifest.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/web-workspace.mjs","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-host-runtime.latest.json","reports/os-product-host-runtime.rejected.json","reports/os-product-host-ui.latest.json","reports/os-product-host-ui/fastify.png","reports/os-product-host-ui/nestjs.png","reports/os-product-layer.latest.json","reports/os-product-migrations-runtime.latest.json","reports/os-product-migrations-runtime.rejected.json","reports/os-product-privacy.latest.json","reports/os-product-rebase-decision.latest.json","reports/os-product-registration-apply-preview.latest.json","reports/os-product-registration-candidate.latest.json","reports/os-product-registration-verification.latest.json","reports/os-product-registration.latest.json","reports/os-product-registration.rejected.json","reports/os-product-release-readiness.latest.json","reports/os-product-release-reproduction.latest.json","reports/os-product-sql-runtime.latest.json","reports/os-product-sql-runtime.rejected.json","reports/os-product-upgrade-candidate.latest.json","reports/outbox-multi-instance.latest.json","reports/product-design-audit/business-gaps-2026-08-26/01-personnel-profile.png","reports/product-design-audit/business-gaps-2026-08-26/02-organization-roster.png","reports/product-design-audit/business-gaps-2026-08-26/03-position-ledger.png","reports/product-design-audit/business-gaps-2026-08-26/04-personnel-change.png","reports/product-design-audit/business-gaps-2026-08-26/05-approval-policy-empty.png","reports/product-design-audit/business-gaps-2026-08-26/06-delivery-policy-empty.png","reports/product-design-audit/employee-attendance-mobile-concept.png","reports/product-design-audit/employee-attendance-mobile-implementation.png","reports/product-design-audit/person-merge-20260826/01-merge-result.png","reports/product-design-audit/person-merge-20260826/02-canonical-profile.png","reports/product-design-audit/person-merge-20260826/03-grouped-profile.png","reports/product-design-audit/person-merge-20260826/04-merge-reconciliation.png","reports/product-design-audit/person-merge-20260826/05-merge-alias-detail.png","reports/product-design-audit/person-merge-20260826/06-person-alias-reconciliation.png","reports/product-design-audit/person-merge-20260826/07-merge-evidence.png","reports/product-design-audit/person-merge-20260826/audit.md","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","scripts/apply-os-product-registration.mjs","scripts/audit-os-product-rebase-decision.mjs","scripts/audit-os-product-release-readiness.mjs","scripts/audit-os-product-release-reproduction.mjs","scripts/audit-os-product-upgrade-candidate.mjs","scripts/build-os-product-bundle.mjs","scripts/check-database-rls.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-health-dependency-failure.mjs","scripts/check-os-product-distribution.mjs","scripts/check-os-product-host-runtime.mjs","scripts/check-os-product-host-ui.mjs","scripts/check-os-product-layer.mjs","scripts/check-os-product-migrations-runtime.mjs","scripts/check-os-product-privacy.mjs","scripts/check-os-product-registration.mjs","scripts/check-os-product-sql-runtime.mjs","scripts/check-outbox-multi-instance.mjs","scripts/lib/git-worktree-fingerprint.mjs","scripts/prepare-os-product-registration-candidate.mjs","scripts/serve-os-product-host.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/standards/api-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","pnpm-lock.yaml","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/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},{"id":"76b19716eb3450c705c6379b459894437af03acb","message":"chore(reports): refresh target static evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/76b19716eb3450c705c6379b459894437af03acb","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:34:25-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"9d8386e522a5d37e3a826470b66c8e82abce2468","message":"docs: record target migration verification\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/9d8386e522a5d37e3a826470b66c8e82abce2468","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:34:08-07:00","added":["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/validation-source.latest.json"],"removed":[],"modified":["docs/README.md","docs/framework-migration.md"]},{"id":"805763fbf9a354c7225c5e3106ff16171daa56e1","message":"chore: bootstrap 巨嗨 AI 人事系统基础框架\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/805763fbf9a354c7225c5e3106ff16171daa56e1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:32:35-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"c652cd634964e915a0a9895cc9a91be4381333b0","message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c652cd634964e915a0a9895cc9a91be4381333b0","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:42:38-07:00","added":["apps/api-fastify/prisma/migrations/20260826030000_personnel_core_phase1/migration.sql","apps/api-fastify/prisma/migrations/20260826050000_personnel_delivery_receipts/migration.sql","apps/api-fastify/prisma/migrations/20260826060000_personnel_identity_links/migration.sql","apps/api-fastify/prisma/migrations/20260826070000_personnel_assignment_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826080000_personnel_data_quality_cases/migration.sql","apps/api-fastify/prisma/migrations/20260826090000_employment_documents/migration.sql","apps/api-fastify/prisma/migrations/20260826100000_person_merges/migration.sql","apps/api-fastify/prisma/migrations/20260826110000_employment_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826120000_person_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826130000_personnel_fact_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826140000_personnel_effective_time_runs/migration.sql","apps/api-fastify/prisma/migrations/20260826150000_outbox_deadletter_replays/migration.sql","apps/api-fastify/prisma/migrations/20260826160000_outbox_delivery_latency_index/migration.sql","apps/api-fastify/prisma/migrations/20260826170000_database_rls_roles/migration.sql","apps/api-fastify/prisma/migrations/20260826180000_personnel_approval_policy_snapshot/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_personnel_approval_policy_registry/migration.sql","apps/api-fastify/prisma/migrations/20260826200000_assignment_reporting_lines/migration.sql","apps/api-fastify/prisma/migrations/20260826210000_personnel_duplicate_candidates/migration.sql","apps/api-fastify/prisma/migrations/20260826210100_personnel_duplicate_candidate_storage/migration.sql","apps/api-fastify/prisma/migrations/20260826220000_identity_evidence_corrections/migration.sql","apps/api-fastify/prisma/migrations/20260826230000_employment_probation_facts/migration.sql","apps/api-fastify/prisma/migrations/20260827000000_personnel_delivery_policy_sets/migration.sql","apps/api-fastify/prisma/migrations/20260827010000_personnel_approval_cases/migration.sql","apps/api-fastify/prisma/migrations/20260827020000_personnel_approval_case_cancelled/migration.sql","apps/api-fastify/prisma/migrations/20260827020000_personnel_promotion_demotion/migration.sql","apps/api-fastify/prisma/migrations/20260827030000_prehire_resume/migration.sql","apps/api-fastify/prisma/migrations/20260827040000_enterprise_identity_principals/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_enterprise_identity_accounts/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_workforce_shift_patterns/migration.sql","apps/api-fastify/prisma/migrations/20260827070000_workforce_work_calendars/migration.sql","apps/api-fastify/prisma/migrations/20260827080000_workforce_shift_assignments/migration.sql","apps/api-fastify/prisma/migrations/20260827090000_workforce_attendance_sources/migration.sql","apps/api-fastify/prisma/migrations/20260827100000_workforce_raw_clock_records/migration.sql","apps/api-fastify/prisma/migrations/20260827110000_workforce_attendance_day_ledgers/migration.sql","apps/api-fastify/prisma/migrations/20260827120000_workforce_timesheet_periods/migration.sql","apps/api-fastify/prisma/migrations/20260827130000_leave_policy_requests/migration.sql","apps/api-fastify/prisma/migrations/20260827140000_payroll_configuration_intake/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_payroll_foundation/migration.sql","apps/api-fastify/prisma/migrations/20260827160000_payroll_profiles/migration.sql","apps/api-fastify/prisma/migrations/20260827170000_payroll_period_runs/migration.sql","apps/api-fastify/prisma/migrations/20260827180000_payroll_calculation_results/migration.sql","apps/api-fastify/prisma/migrations/20260827210000_payroll_payslip_publications/migration.sql","apps/api-fastify/prisma/migrations/20260827220000_attendance_exception_cases/migration.sql","apps/api-fastify/prisma/migrations/20260827230000_payroll_bonus_awards/migration.sql","apps/api-fastify/prisma/migrations/20260828000000_recruitment_requisitions_openings/migration.sql","apps/api-fastify/prisma/migrations/20260828010000_recruitment_candidates_applications/migration.sql","apps/api-fastify/prisma/migrations/20260828020000_recruitment_interviews/migration.sql","apps/api-fastify/prisma/migrations/20260828030000_payroll_payment_reconciliation/migration.sql","apps/api-fastify/prisma/migrations/20260828040000_enterprise_identity_sessions/migration.sql","apps/api-fastify/prisma/migrations/20260828050000_security_event_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260828060000_recruitment_offers/migration.sql","apps/api-fastify/prisma/migrations/20260828070000_performance_policy_cycles/migration.sql","apps/api-fastify/src/modules/enterprise-identity/enterprise-identity.service.ts","apps/api-fastify/src/modules/leave/leave.service.ts","apps/api-fastify/src/modules/local-identity-session.ts","apps/api-fastify/src/modules/outbox-operations.ts","apps/api-fastify/src/modules/payroll-configuration/payroll-configuration.service.ts","apps/api-fastify/src/modules/payroll-foundation/payroll-foundation.service.ts","apps/api-fastify/src/modules/payroll-payments/payroll-payments.service.ts","apps/api-fastify/src/modules/payroll-profiles/payroll-profiles.service.ts","apps/api-fastify/src/modules/payroll-readiness.service.ts","apps/api-fastify/src/modules/payroll-runs/payroll-runs.service.ts","apps/api-fastify/src/modules/performance/performance.service.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/src/modules/prehire/prehire.service.ts","apps/api-fastify/src/modules/recruitment/recruitment-offer.service.ts","apps/api-fastify/src/modules/recruitment/recruitment.service.ts","apps/api-fastify/src/modules/workforce-time/attendance-day-ledger.service.ts","apps/api-fastify/src/modules/workforce-time/attendance-source.service.ts","apps/api-fastify/src/modules/workforce-time/employee-attendance.service.ts","apps/api-fastify/src/modules/workforce-time/raw-clock-record.service.ts","apps/api-fastify/src/modules/workforce-time/shift-assignment.service.ts","apps/api-fastify/src/modules/workforce-time/timesheet-period.service.ts","apps/api-fastify/src/modules/workforce-time/work-calendar.service.ts","apps/api-fastify/src/modules/workforce-time/workforce-time.service.ts","apps/api-fastify/src/plugins/auth-jwks.ts","apps/api-fastify/src/plugins/database-rls-request.ts","apps/api-fastify/src/plugins/personnel-effective-time.ts","apps/api-fastify/src/routes/enterprise-identity.ts","apps/api-fastify/src/routes/leave.ts","apps/api-fastify/src/routes/outbox-operations.ts","apps/api-fastify/src/routes/payroll-configuration.ts","apps/api-fastify/src/routes/payroll-foundation.ts","apps/api-fastify/src/routes/payroll-payments.ts","apps/api-fastify/src/routes/payroll-profiles.ts","apps/api-fastify/src/routes/payroll-readiness.ts","apps/api-fastify/src/routes/payroll-runs.ts","apps/api-fastify/src/routes/performance.ts","apps/api-fastify/src/routes/personnel.ts","apps/api-fastify/src/routes/prehire.ts","apps/api-fastify/src/routes/recruitment.ts","apps/api-fastify/src/routes/workforce-time.ts","apps/api-fastify/test/auth.jwks.http.test.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-identity.http.test.ts","apps/api-fastify/test/leave.http.test.ts","apps/api-fastify/test/payroll-configuration.http.test.ts","apps/api-fastify/test/payroll-foundation.http.test.ts","apps/api-fastify/test/payroll-profiles.http.test.ts","apps/api-fastify/test/payroll-readiness.http.test.ts","apps/api-fastify/test/payroll-runs.http.test.ts","apps/api-fastify/test/performance.http.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-fastify/test/recruitment-offer.http.test.ts","apps/api-fastify/test/recruitment.http.test.ts","apps/api-fastify/test/users.atomicity.test.ts","apps/api-fastify/test/workforce-time.http.test.ts","apps/api-nestjs/prisma/migrations/20260826030000_personnel_core_phase1/migration.sql","apps/api-nestjs/prisma/migrations/20260826050000_personnel_delivery_receipts/migration.sql","apps/api-nestjs/prisma/migrations/20260826060000_personnel_identity_links/migration.sql","apps/api-nestjs/prisma/migrations/20260826070000_personnel_assignment_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826080000_personnel_data_quality_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260826090000_employment_documents/migration.sql","apps/api-nestjs/prisma/migrations/20260826100000_person_merges/migration.sql","apps/api-nestjs/prisma/migrations/20260826110000_employment_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826120000_person_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826130000_personnel_fact_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826140000_personnel_effective_time_runs/migration.sql","apps/api-nestjs/prisma/migrations/20260826150000_outbox_deadletter_replays/migration.sql","apps/api-nestjs/prisma/migrations/20260826160000_outbox_delivery_latency_index/migration.sql","apps/api-nestjs/prisma/migrations/20260826170000_database_rls_roles/migration.sql","apps/api-nestjs/prisma/migrations/20260826180000_personnel_approval_policy_snapshot/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_personnel_approval_policy_registry/migration.sql","apps/api-nestjs/prisma/migrations/20260826200000_assignment_reporting_lines/migration.sql","apps/api-nestjs/prisma/migrations/20260826210000_personnel_duplicate_candidates/migration.sql","apps/api-nestjs/prisma/migrations/20260826210100_personnel_duplicate_candidate_storage/migration.sql","apps/api-nestjs/prisma/migrations/20260826220000_identity_evidence_corrections/migration.sql","apps/api-nestjs/prisma/migrations/20260826230000_employment_probation_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260827000000_personnel_delivery_policy_sets/migration.sql","apps/api-nestjs/prisma/migrations/20260827010000_personnel_approval_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260827020000_personnel_approval_case_cancelled/migration.sql","apps/api-nestjs/prisma/migrations/20260827020000_personnel_promotion_demotion/migration.sql","apps/api-nestjs/prisma/migrations/20260827030000_prehire_resume/migration.sql","apps/api-nestjs/prisma/migrations/20260827040000_enterprise_identity_principals/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_enterprise_identity_accounts/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_workforce_shift_patterns/migration.sql","apps/api-nestjs/prisma/migrations/20260827070000_workforce_work_calendars/migration.sql","apps/api-nestjs/prisma/migrations/20260827080000_workforce_shift_assignments/migration.sql","apps/api-nestjs/prisma/migrations/20260827090000_workforce_attendance_sources/migration.sql","apps/api-nestjs/prisma/migrations/20260827100000_workforce_raw_clock_records/migration.sql","apps/api-nestjs/prisma/migrations/20260827110000_workforce_attendance_day_ledgers/migration.sql","apps/api-nestjs/prisma/migrations/20260827120000_workforce_timesheet_periods/migration.sql","apps/api-nestjs/prisma/migrations/20260827130000_leave_policy_requests/migration.sql","apps/api-nestjs/prisma/migrations/20260827140000_payroll_configuration_intake/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_payroll_foundation/migration.sql","apps/api-nestjs/prisma/migrations/20260827160000_payroll_profiles/migration.sql","apps/api-nestjs/prisma/migrations/20260827170000_payroll_period_runs/migration.sql","apps/api-nestjs/prisma/migrations/20260827180000_payroll_calculation_results/migration.sql","apps/api-nestjs/prisma/migrations/20260827210000_payroll_payslip_publications/migration.sql","apps/api-nestjs/prisma/migrations/20260827220000_attendance_exception_cases/migration.sql","apps/api-nestjs/prisma/migrations/20260827230000_payroll_bonus_awards/migration.sql","apps/api-nestjs/prisma/migrations/20260828000000_recruitment_requisitions_openings/migration.sql","apps/api-nestjs/prisma/migrations/20260828010000_recruitment_candidates_applications/migration.sql","apps/api-nestjs/prisma/migrations/20260828020000_recruitment_interviews/migration.sql","apps/api-nestjs/prisma/migrations/20260828030000_payroll_payment_reconciliation/migration.sql","apps/api-nestjs/prisma/migrations/20260828040000_enterprise_identity_sessions/migration.sql","apps/api-nestjs/prisma/migrations/20260828050000_security_event_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260828060000_recruitment_offers/migration.sql","apps/api-nestjs/prisma/migrations/20260828070000_performance_policy_cycles/migration.sql","apps/api-nestjs/src/common/auth-jwks-lifecycle.service.ts","apps/api-nestjs/src/common/local-identity-session.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.module.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.service.ts","apps/api-nestjs/src/events/outbox-operations.controller.ts","apps/api-nestjs/src/events/outbox-operations.service.ts","apps/api-nestjs/src/leave/leave.controller.ts","apps/api-nestjs/src/leave/leave.module.ts","apps/api-nestjs/src/leave/leave.service.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.controller.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.module.ts","apps/api-nestjs/src/payroll-configuration/payroll-configuration.service.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.controller.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.module.ts","apps/api-nestjs/src/payroll-foundation/payroll-foundation.service.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.controller.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.module.ts","apps/api-nestjs/src/payroll-payments/payroll-payments.service.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.controller.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.module.ts","apps/api-nestjs/src/payroll-profiles/payroll-profiles.service.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.controller.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.module.ts","apps/api-nestjs/src/payroll-readiness/payroll-readiness.service.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.controller.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.module.ts","apps/api-nestjs/src/payroll-runs/payroll-runs.service.ts","apps/api-nestjs/src/performance/performance.controller.ts","apps/api-nestjs/src/performance/performance.module.ts","apps/api-nestjs/src/performance/performance.service.ts","apps/api-nestjs/src/personnel/personnel-effective-time-dispatcher.service.ts","apps/api-nestjs/src/personnel/personnel.controller.ts","apps/api-nestjs/src/personnel/personnel.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/src/prehire/prehire.controller.ts","apps/api-nestjs/src/prehire/prehire.module.ts","apps/api-nestjs/src/prehire/prehire.service.ts","apps/api-nestjs/src/prisma/database-rls.interceptor.ts","apps/api-nestjs/src/prisma/manual-database-rls.decorator.ts","apps/api-nestjs/src/recruitment/recruitment-offer.controller.ts","apps/api-nestjs/src/recruitment/recruitment-offer.service.ts","apps/api-nestjs/src/recruitment/recruitment.controller.ts","apps/api-nestjs/src/recruitment/recruitment.module.ts","apps/api-nestjs/src/recruitment/recruitment.service.ts","apps/api-nestjs/src/sse/sse-connection.guard.ts","apps/api-nestjs/src/workforce-time/attendance-day-ledger.service.ts","apps/api-nestjs/src/workforce-time/attendance-source.service.ts","apps/api-nestjs/src/workforce-time/employee-attendance.service.ts","apps/api-nestjs/src/workforce-time/raw-clock-record.service.ts","apps/api-nestjs/src/workforce-time/shift-assignment.service.ts","apps/api-nestjs/src/workforce-time/timesheet-period.service.ts","apps/api-nestjs/src/workforce-time/work-calendar.service.ts","apps/api-nestjs/src/workforce-time/workforce-time.controller.ts","apps/api-nestjs/src/workforce-time/workforce-time.module.ts","apps/api-nestjs/src/workforce-time/workforce-time.service.ts","apps/api-nestjs/test/auth.jwks.http.test.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/leave.http.test.ts","apps/api-nestjs/test/payroll-configuration.http.test.ts","apps/api-nestjs/test/payroll-foundation.http.test.ts","apps/api-nestjs/test/payroll-profiles.http.test.ts","apps/api-nestjs/test/payroll-readiness.http.test.ts","apps/api-nestjs/test/payroll-runs.http.test.ts","apps/api-nestjs/test/performance.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/api-nestjs/test/recruitment-offer.http.test.ts","apps/api-nestjs/test/recruitment.http.test.ts","apps/api-nestjs/test/users.atomicity.test.ts","apps/api-nestjs/test/workforce-time.http.test.ts","apps/web/src/app/employee/attendance/page.tsx","apps/web/src/app/employee/payslips/page.tsx","apps/web/src/app/prehire/page.tsx","apps/web/src/components/ApprovalPolicyGovernancePanel.tsx","apps/web/src/components/DeliveryPolicyGovernancePanel.tsx","apps/web/src/components/EmployeeAttendancePortal.tsx","apps/web/src/components/EmployeePayslipPortal.tsx","apps/web/src/components/EmploymentExpiryView.tsx","apps/web/src/components/EnterpriseIdentityAccountPanel.tsx","apps/web/src/components/EnterpriseIdentityWorkbench.tsx","apps/web/src/components/EnterpriseIdentityWorkspace.tsx","apps/web/src/components/EventOperationsView.tsx","apps/web/src/components/LeaveWorkspace.tsx","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PayrollBonusAwardWorkbench.tsx","apps/web/src/components/PayrollConfigurationWorkbench.tsx","apps/web/src/components/PayrollFoundationWorkbench.tsx","apps/web/src/components/PayrollPaymentWorkbench.tsx","apps/web/src/components/PayrollProfilesWorkbench.tsx","apps/web/src/components/PayrollReadinessWorkspace.tsx","apps/web/src/components/PayrollRunsWorkbench.tsx","apps/web/src/components/PerformanceWorkspace.tsx","apps/web/src/components/PersonnelAlumniView.tsx","apps/web/src/components/PersonnelChangeWorkbench.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/PersonnelGovernanceView.tsx","apps/web/src/components/PersonnelProbationView.tsx","apps/web/src/components/PositionManagementDialog.tsx","apps/web/src/components/PrehireCandidateForm.tsx","apps/web/src/components/PrehireResumeWorkbench.tsx","apps/web/src/components/RealtimeBridge.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/components/RenewEmploymentDialog.tsx","apps/web/src/components/WorkforceAttendanceDayLedgerWorkbench.tsx","apps/web/src/components/WorkforceAttendanceExceptionWorkbench.tsx","apps/web/src/components/WorkforceAttendanceSourceWorkbench.tsx","apps/web/src/components/WorkforceCalendarWorkbench.tsx","apps/web/src/components/WorkforceRawClockWorkbench.tsx","apps/web/src/components/WorkforceShiftAssignmentWorkbench.tsx","apps/web/src/components/WorkforceShiftPatternWorkbench.tsx","apps/web/src/components/WorkforceTimeWorkspace.tsx","apps/web/src/components/WorkforceTimesheetPeriodWorkbench.tsx","design-qa.md","docs/domain/enterprise-document-signing-v2-blueprint.md","docs/domain/enterprise-identity-v2-blueprint.md","docs/domain/hr-v2-blueprint.md","docs/domain/hr-v2-data-classification.md","docs/domain/hr-v2-event-catalog.md","docs/domain/hr-v2-threat-model.md","docs/domain/os-product-layer-blueprint.md","docs/domain/payroll-rewards-v2-blueprint.md","docs/domain/performance-talent-v2-blueprint.md","docs/domain/personnel-core-blueprint.md","docs/domain/prehire-resume-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/domain/workforce-time-leave-v2-blueprint.md","docs/system-analysis-2026-08-28.md","packages/auth/package.json","packages/auth/src/identity.test.ts","packages/auth/src/identity.ts","packages/auth/src/index.test.ts","packages/auth/src/index.ts","packages/auth/src/payroll.test.ts","packages/auth/src/payroll.ts","packages/auth/src/prehire.test.ts","packages/auth/src/prehire.ts","packages/auth/src/recruitment.test.ts","packages/auth/src/recruitment.ts","packages/auth/tsconfig.json","packages/contracts/src/enterprise-document.ts","packages/contracts/src/enterprise-identity.ts","packages/contracts/src/enterprise-v2.test.ts","packages/contracts/src/leave.test.ts","packages/contracts/src/leave.ts","packages/contracts/src/outbox-operations.test.ts","packages/contracts/src/outbox-operations.ts","packages/contracts/src/payroll-bonuses.test.ts","packages/contracts/src/payroll-bonuses.ts","packages/contracts/src/payroll-calculation.test.ts","packages/contracts/src/payroll-calculation.ts","packages/contracts/src/payroll-configuration.test.ts","packages/contracts/src/payroll-configuration.ts","packages/contracts/src/payroll-foundation.test.ts","packages/contracts/src/payroll-foundation.ts","packages/contracts/src/payroll-payments.test.ts","packages/contracts/src/payroll-payments.ts","packages/contracts/src/payroll-payslips.ts","packages/contracts/src/payroll-profiles.test.ts","packages/contracts/src/payroll-profiles.ts","packages/contracts/src/payroll-readiness.test.ts","packages/contracts/src/payroll-readiness.ts","packages/contracts/src/payroll-runs.test.ts","packages/contracts/src/payroll-runs.ts","packages/contracts/src/performance.test.ts","packages/contracts/src/performance.ts","packages/contracts/src/personnel-access.test.ts","packages/contracts/src/personnel-access.ts","packages/contracts/src/personnel-effective-time.test.ts","packages/contracts/src/personnel-effective-time.ts","packages/contracts/src/personnel-temporal.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/src/prehire.ts","packages/contracts/src/recruitment.test.ts","packages/contracts/src/recruitment.ts","packages/contracts/src/workforce-time.test.ts","packages/contracts/src/workforce-time.ts","packages/database-rls/package.json","packages/database-rls/src/index.test.ts","packages/database-rls/src/index.ts","packages/database-rls/tsconfig.json","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","products/juhai.hr/readiness.json","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/delivery-audit-workbench.d.mts","products/juhai.hr/src/delivery-audit-workbench.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/master-data-workbench.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-change-workbench.d.mts","products/juhai.hr/src/personnel-change-workbench.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/personnel-governance-workbench.d.mts","products/juhai.hr/src/personnel-governance-workbench.mjs","products/juhai.hr/src/privacy-projections.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/database-rls.latest.json","reports/dual-backend-behavior.latest.json","reports/health-dependency-failure.latest.json","reports/os-product-bundle.latest.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/bundle-index.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/distribution.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/manifest.json","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/024fc6af1c5db165209214a6ab149c928a794a7679fa30f76614e8642096e1a1/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/bundle-index.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/distribution.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/manifest.json","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/0ea3b13696e3bd24ec9a97b9bed021f96884c002c65a792a30940fc0ec90bf1f/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/bundle-index.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/distribution.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/manifest.json","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/1287b170d9d810b396177f0c949c4b388e1228d9860bcdf8d56185ef747fb957/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/bundle-index.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/distribution.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/manifest.json","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/131d08362b1eed5e8aed51c991dc5d687ee70ebe2b7a467b19ac47a86f96cc72/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/bundle-index.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/distribution.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/manifest.json","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/2160622a6911a43149d1dc5603af2ddda49faca2c53ce02042147c414a0d6d68/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/bundle-index.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/distribution.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/manifest.json","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/2c59cdcac9f274c3e84cd13c2349d7ef50e2d2b38b4a65ef22d602960af8b330/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/bundle-index.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/distribution.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/manifest.json","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/38a8945115f69e878b8a755070b06d0b3bf2eac47c5ff53d943d9eea94bd51b4/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/bundle-index.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/distribution.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/manifest.json","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/408cbbabe6cecd93589ee8042373322ced37a3522cd13b95618f64e00aa3ce0b/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/bundle-index.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/distribution.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/manifest.json","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/51f5ab1b8f3aa4b3fb2ec9a9f8bbb9bba2f36c31e493fb9cb4bacefe511e953d/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/bundle-index.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/distribution.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/manifest.json","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/5f8766b12bfe705d05b0c65134a223a5df4ebf5c7a146dc63227868f7f04be73/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/bundle-index.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/distribution.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/manifest.json","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/67bfda7d98b9a9cd2f1f22cd9a45f8bb7015bb3729da1d291a40b02e0a054a25/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/bundle-index.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/distribution.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/manifest.json","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/6be282e130858a13c8757fc999052b69ab65256898c9fcb5456a84f0eb48d80d/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/bundle-index.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/distribution.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/manifest.json","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/7ab29533bb2d6fe3d2d8209d97e3f3d7e8df931927d34d0c22584a4d45da2e08/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/bundle-index.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/distribution.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/manifest.json","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/7bdec4db2a3b81e7e1a6a59d9f5706c00ffa04277a1a67167e828448f86a8b36/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/bundle-index.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/distribution.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/manifest.json","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8661145f2d70adbc06309fc4124b465f4dec2f09a762733b7f7285c70b4f6fa0/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/bundle-index.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/distribution.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/manifest.json","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/90525d24edef2512077d55f430e2ce34c6584c25265a4df0e7a93363663b5458/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/bundle-index.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/distribution.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/manifest.json","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/ae7ed7a5bed4b0bb6cf191db934ed50e7f9637a69925f790bc16149e13d8c94c/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/bundle-index.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/distribution.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/manifest.json","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/b3e6df61a3dbd9a2698e3bfb8497bb5654ce718315c99a9a92170cfdf6c3cedd/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/bundle-index.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/distribution.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/manifest.json","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/bc37313ae54b5bf44945eb18fe6ccf04f92d9c18ad949ee260bdd0060ba32fd6/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/bundle-index.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/distribution.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/manifest.json","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/bec2267c0ec51412dd49dc65690f2bd4bdcb890953e33e42309ec207ae8f009f/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/bundle-index.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/distribution.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/manifest.json","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/dc6eeb6bd10f92d6b04da0d836a1c00fc91c4dec94879a4b7233a9f3ae9d594e/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/bundle-index.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/distribution.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/manifest.json","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/e2f34bfd16c7be5ca6d4040be6fa297cc458aa66b2168e28d39cb90641c89791/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/bundle-index.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/distribution.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/manifest.json","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/ea0e7d7d88be7364417830a8a2c9827318484af33e3e6ac8b482affb13fff74c/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/bundle-index.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/distribution.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/manifest.json","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/f3f7d987b96ac74a5e84829faa99797a3e2bae8a78d5e7bd65a35c0af70fafbf/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/bundle-index.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/distribution.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/manifest.json","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/fdc0ae417228a85f04dd48567bf932cb224d1b4ea62ad7f06e8390db3be8d749/products/juhai.hr/src/web-workspace.mjs","reports/os-product-compat.latest.json","reports/os-product-distribution.latest.json","reports/os-product-host-runtime.latest.json","reports/os-product-host-runtime.rejected.json","reports/os-product-host-ui.latest.json","reports/os-product-host-ui/fastify.png","reports/os-product-host-ui/nestjs.png","reports/os-product-layer.latest.json","reports/os-product-migrations-runtime.latest.json","reports/os-product-migrations-runtime.rejected.json","reports/os-product-privacy.latest.json","reports/os-product-rebase-decision.latest.json","reports/os-product-registration-apply-preview.latest.json","reports/os-product-registration-candidate.latest.json","reports/os-product-registration-verification.latest.json","reports/os-product-registration.latest.json","reports/os-product-registration.rejected.json","reports/os-product-release-readiness.latest.json","reports/os-product-release-reproduction.latest.json","reports/os-product-sql-runtime.latest.json","reports/os-product-sql-runtime.rejected.json","reports/os-product-upgrade-candidate.latest.json","reports/outbox-multi-instance.latest.json","reports/product-design-audit/business-gaps-2026-08-26/01-personnel-profile.png","reports/product-design-audit/business-gaps-2026-08-26/02-organization-roster.png","reports/product-design-audit/business-gaps-2026-08-26/03-position-ledger.png","reports/product-design-audit/business-gaps-2026-08-26/04-personnel-change.png","reports/product-design-audit/business-gaps-2026-08-26/05-approval-policy-empty.png","reports/product-design-audit/business-gaps-2026-08-26/06-delivery-policy-empty.png","reports/product-design-audit/employee-attendance-mobile-concept.png","reports/product-design-audit/employee-attendance-mobile-implementation.png","reports/product-design-audit/person-merge-20260826/01-merge-result.png","reports/product-design-audit/person-merge-20260826/02-canonical-profile.png","reports/product-design-audit/person-merge-20260826/03-grouped-profile.png","reports/product-design-audit/person-merge-20260826/04-merge-reconciliation.png","reports/product-design-audit/person-merge-20260826/05-merge-alias-detail.png","reports/product-design-audit/person-merge-20260826/06-person-alias-reconciliation.png","reports/product-design-audit/person-merge-20260826/07-merge-evidence.png","reports/product-design-audit/person-merge-20260826/audit.md","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","scripts/apply-os-product-registration.mjs","scripts/audit-os-product-rebase-decision.mjs","scripts/audit-os-product-release-readiness.mjs","scripts/audit-os-product-release-reproduction.mjs","scripts/audit-os-product-upgrade-candidate.mjs","scripts/build-os-product-bundle.mjs","scripts/check-database-rls.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-health-dependency-failure.mjs","scripts/check-os-product-distribution.mjs","scripts/check-os-product-host-runtime.mjs","scripts/check-os-product-host-ui.mjs","scripts/check-os-product-layer.mjs","scripts/check-os-product-migrations-runtime.mjs","scripts/check-os-product-privacy.mjs","scripts/check-os-product-registration.mjs","scripts/check-os-product-sql-runtime.mjs","scripts/check-outbox-multi-instance.mjs","scripts/lib/git-worktree-fingerprint.mjs","scripts/prepare-os-product-registration-candidate.mjs","scripts/serve-os-product-host.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/standards/api-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","pnpm-lock.yaml","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/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"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-08-30T15:09: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
|
6
|
1788073798
|
1788074096
|
0
|
1788073796
|
1788074098
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23539
|
feat: unify projects and tickets under execution c feat: unify projects and tickets under execution control...
|
82
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
f78be17ac5fecb9cfa36e167b1e85ea26a48fa45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"343e79d764ae566372808d0d922fcef7ca12a30e","after":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/343e79d764ae566372808d0d922fcef7ca12a30e...f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","commits":[{"id":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:46:07-07:00","added":[".agents/skills",".dockerignore",".github/workflows/release-images.yml","Dockerfile","apps/api-fastify/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-fastify/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-fastify/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-fastify/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-fastify/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-fastify/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-fastify/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-fastify/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-fastify/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-fastify/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-fastify/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-fastify/src/modules/ai/ai.service.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/execution-control/execution-control.service.ts","apps/api-fastify/src/modules/permission.ts","apps/api-fastify/src/modules/projects/projects.service.ts","apps/api-fastify/src/modules/tenant-prisma.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/modules/write-request-context.ts","apps/api-fastify/src/plugins/attachments.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/plugins/identity.ts","apps/api-fastify/src/plugins/ticket-maintenance-worker.ts","apps/api-fastify/src/routes/ai.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/routes/execution-control.ts","apps/api-fastify/src/routes/projects.ts","apps/api-fastify/src/routes/ticket-operations.ts","apps/api-fastify/test/auth.oidc.test.ts","apps/api-fastify/test/rls.integration.test.ts","apps/api-nestjs/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-nestjs/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-nestjs/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-nestjs/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-nestjs/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-nestjs/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-nestjs/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-nestjs/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-nestjs/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-nestjs/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-nestjs/src/ai/ai.controller.ts","apps/api-nestjs/src/ai/ai.module.ts","apps/api-nestjs/src/ai/ai.service.ts","apps/api-nestjs/src/attachments/attachment-retention-worker.service.ts","apps/api-nestjs/src/attachments/attachments.controller.ts","apps/api-nestjs/src/attachments/attachments.module.ts","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/attachments/attachments.tokens.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/identity.middleware.ts","apps/api-nestjs/src/auth/identity.service.ts","apps/api-nestjs/src/auth/permission.guard.ts","apps/api-nestjs/src/auth/require-permission.decorator.ts","apps/api-nestjs/src/automation/automation-event-consumer.service.ts","apps/api-nestjs/src/automation/automation-retry-worker.service.ts","apps/api-nestjs/src/automation/automation.controller.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/common/write-request-context.ts","apps/api-nestjs/src/execution-control/execution-control.controller.ts","apps/api-nestjs/src/execution-control/execution-control.module.ts","apps/api-nestjs/src/execution-control/execution-control.service.ts","apps/api-nestjs/src/projects/projects.controller.ts","apps/api-nestjs/src/projects/projects.module.ts","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-operations/ticket-maintenance-worker.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.controller.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.module.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/auth.oidc.test.ts","apps/api-nestjs/test/rls.integration.test.ts","apps/web/e2e/fixtures/keycloak/juhai-execution-acceptance-realm.json","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/public/icon-maskable.svg","apps/web/public/icon.svg","apps/web/public/sw.js","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/callback/route.ts","apps/web/src/app/auth/login/route.ts","apps/web/src/app/auth/logout/route.ts","apps/web/src/app/auth/session/route.ts","apps/web/src/app/manifest.ts","apps/web/src/app/sse/events/route.ts","apps/web/src/components/OperationsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/PwaRegistration.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","apps/web/src/features/execution-control/api/execution-control-api.ts","apps/web/src/features/execution-control/components/ExecutionControlDashboard.tsx","apps/web/src/features/execution-control/hooks/use-execution-control.ts","apps/web/src/lib/auth-session.ts","apps/web/src/lib/auth-types.ts","apps/web/src/lib/i18n.ts","deploy/k8s/README.md","deploy/k8s/base/kustomization.yaml","deploy/k8s/base/otel-collector-config.yaml","deploy/k8s/base/platform.yaml","deploy/otel-collector/acceptance.yaml","docs/domain/execution-control-blueprint.md","docs/domain/project-delivery-blueprint.md","packages/ai-provider/package.json","packages/ai-provider/src/index.test.ts","packages/ai-provider/src/index.ts","packages/ai-provider/src/testing.ts","packages/ai-provider/tsconfig.json","packages/attachments/package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/attachments/tsconfig.json","packages/contracts/src/ai.ts","packages/contracts/src/auth.ts","packages/contracts/src/automation.test.ts","packages/contracts/src/automation.ts","packages/contracts/src/business-calendar.test.ts","packages/contracts/src/business-calendar.ts","packages/contracts/src/execution-control.test.ts","packages/contracts/src/execution-control.ts","packages/contracts/src/idempotency.test.ts","packages/contracts/src/idempotency.ts","packages/contracts/src/project.test.ts","packages/contracts/src/project.ts","packages/identity/package.json","packages/identity/src/identity.test.ts","packages/identity/src/index.ts","packages/identity/tsconfig.json","packages/write-governance/package.json","packages/write-governance/src/index.test.ts","packages/write-governance/src/index.ts","packages/write-governance/tsconfig.json","reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/dual-backend-behavior.latest.json","reports/identity-boundary.latest.json","reports/outbox-operations.latest.json","reports/write-governance.latest.json","scripts/backup-postgres.sh","scripts/check-agent-workflow-parity.mjs","scripts/check-capacity.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-identity-boundary.mjs","scripts/check-outbox-operations.mjs","scripts/check-write-governance.mjs","scripts/replay-outbox-dead-letter.mjs","scripts/restore-postgres-drill.sh","scripts/test-otel-acceptance.mjs","scripts/test-outbox-operations.mjs","scripts/test-redis-auth-db.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.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/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/TicketsPanel.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","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/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-transactional-write-chain.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]}],"total_commits":0,"head_commit":{"id":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:46:07-07:00","added":[".agents/skills",".dockerignore",".github/workflows/release-images.yml","Dockerfile","apps/api-fastify/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-fastify/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-fastify/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-fastify/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-fastify/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-fastify/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-fastify/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-fastify/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-fastify/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-fastify/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-fastify/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-fastify/src/modules/ai/ai.service.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/execution-control/execution-control.service.ts","apps/api-fastify/src/modules/permission.ts","apps/api-fastify/src/modules/projects/projects.service.ts","apps/api-fastify/src/modules/tenant-prisma.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/modules/write-request-context.ts","apps/api-fastify/src/plugins/attachments.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/plugins/identity.ts","apps/api-fastify/src/plugins/ticket-maintenance-worker.ts","apps/api-fastify/src/routes/ai.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/routes/execution-control.ts","apps/api-fastify/src/routes/projects.ts","apps/api-fastify/src/routes/ticket-operations.ts","apps/api-fastify/test/auth.oidc.test.ts","apps/api-fastify/test/rls.integration.test.ts","apps/api-nestjs/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-nestjs/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-nestjs/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-nestjs/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-nestjs/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-nestjs/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-nestjs/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-nestjs/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-nestjs/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-nestjs/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-nestjs/src/ai/ai.controller.ts","apps/api-nestjs/src/ai/ai.module.ts","apps/api-nestjs/src/ai/ai.service.ts","apps/api-nestjs/src/attachments/attachment-retention-worker.service.ts","apps/api-nestjs/src/attachments/attachments.controller.ts","apps/api-nestjs/src/attachments/attachments.module.ts","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/attachments/attachments.tokens.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/identity.middleware.ts","apps/api-nestjs/src/auth/identity.service.ts","apps/api-nestjs/src/auth/permission.guard.ts","apps/api-nestjs/src/auth/require-permission.decorator.ts","apps/api-nestjs/src/automation/automation-event-consumer.service.ts","apps/api-nestjs/src/automation/automation-retry-worker.service.ts","apps/api-nestjs/src/automation/automation.controller.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/common/write-request-context.ts","apps/api-nestjs/src/execution-control/execution-control.controller.ts","apps/api-nestjs/src/execution-control/execution-control.module.ts","apps/api-nestjs/src/execution-control/execution-control.service.ts","apps/api-nestjs/src/projects/projects.controller.ts","apps/api-nestjs/src/projects/projects.module.ts","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-operations/ticket-maintenance-worker.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.controller.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.module.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/auth.oidc.test.ts","apps/api-nestjs/test/rls.integration.test.ts","apps/web/e2e/fixtures/keycloak/juhai-execution-acceptance-realm.json","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/public/icon-maskable.svg","apps/web/public/icon.svg","apps/web/public/sw.js","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/callback/route.ts","apps/web/src/app/auth/login/route.ts","apps/web/src/app/auth/logout/route.ts","apps/web/src/app/auth/session/route.ts","apps/web/src/app/manifest.ts","apps/web/src/app/sse/events/route.ts","apps/web/src/components/OperationsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/PwaRegistration.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","apps/web/src/features/execution-control/api/execution-control-api.ts","apps/web/src/features/execution-control/components/ExecutionControlDashboard.tsx","apps/web/src/features/execution-control/hooks/use-execution-control.ts","apps/web/src/lib/auth-session.ts","apps/web/src/lib/auth-types.ts","apps/web/src/lib/i18n.ts","deploy/k8s/README.md","deploy/k8s/base/kustomization.yaml","deploy/k8s/base/otel-collector-config.yaml","deploy/k8s/base/platform.yaml","deploy/otel-collector/acceptance.yaml","docs/domain/execution-control-blueprint.md","docs/domain/project-delivery-blueprint.md","packages/ai-provider/package.json","packages/ai-provider/src/index.test.ts","packages/ai-provider/src/index.ts","packages/ai-provider/src/testing.ts","packages/ai-provider/tsconfig.json","packages/attachments/package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/attachments/tsconfig.json","packages/contracts/src/ai.ts","packages/contracts/src/auth.ts","packages/contracts/src/automation.test.ts","packages/contracts/src/automation.ts","packages/contracts/src/business-calendar.test.ts","packages/contracts/src/business-calendar.ts","packages/contracts/src/execution-control.test.ts","packages/contracts/src/execution-control.ts","packages/contracts/src/idempotency.test.ts","packages/contracts/src/idempotency.ts","packages/contracts/src/project.test.ts","packages/contracts/src/project.ts","packages/identity/package.json","packages/identity/src/identity.test.ts","packages/identity/src/index.ts","packages/identity/tsconfig.json","packages/write-governance/package.json","packages/write-governance/src/index.test.ts","packages/write-governance/src/index.ts","packages/write-governance/tsconfig.json","reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/dual-backend-behavior.latest.json","reports/identity-boundary.latest.json","reports/outbox-operations.latest.json","reports/write-governance.latest.json","scripts/backup-postgres.sh","scripts/check-agent-workflow-parity.mjs","scripts/check-capacity.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-identity-boundary.mjs","scripts/check-outbox-operations.mjs","scripts/check-write-governance.mjs","scripts/replay-outbox-dead-letter.mjs","scripts/restore-postgres-drill.sh","scripts/test-otel-acceptance.mjs","scripts/test-outbox-operations.mjs","scripts/test-redis-auth-db.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.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/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/TicketsPanel.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","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/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-transactional-write-chain.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":712,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-08-26T09:12:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787913991
|
1787914025
|
0
|
1787913990
|
1787914026
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23527
|
feat: establish governed AI ticket system core
|
82
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
343e79d764ae566372808d0d922fcef7ca12a30e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"343e79d764ae566372808d0d922fcef7ca12a30e","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"343e79d764ae566372808d0d922fcef7ca12a30e","message":"feat: establish governed AI ticket system core\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/343e79d764ae566372808d0d922fcef7ca12a30e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:10:23-07:00","added":["apps/api-fastify/prisma/migrations/20260825170000_ticket_core/migration.sql","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/prisma/migrations/20260825170000_ticket_core/migration.sql","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/src/components/TicketsPanel.tsx","packages/contracts/src/ticket.ts","products/juhai.ai.ticket/README.md","products/juhai.ai.ticket/acceptance/juhai.ai.ticket.core.acceptance.mjs","products/juhai.ai.ticket/acceptance/juhai.ai.ticket.web.acceptance.ts","products/juhai.ai.ticket/kernel.products.entry.json","products/juhai.ai.ticket/manifest.ts","products/juhai.ai.ticket/migrations/juhai.ai.ticket.core/20260825183000_create_ticket_core.sql","products/juhai.ai.ticket/package.json","products/juhai.ai.ticket/src/contracts/runtime-contracts.ts","products/juhai.ai.ticket/src/extensions-web.ts","products/juhai.ai.ticket/src/extensions.ts","products/juhai.ai.ticket/src/fastify/ticket-plugin.ts","products/juhai.ai.ticket/src/index.ts","products/juhai.ai.ticket/src/nestjs/ticket.module.ts","products/juhai.ai.ticket/src/repositories/ticket-repository.ts","products/juhai.ai.ticket/src/skills/ticket-triage-skill.ts","products/juhai.ai.ticket/src/tools/ticket-tools.ts","products/juhai.ai.ticket/src/web.ts","products/juhai.ai.ticket/src/web/ticket-workspace.tsx","products/juhai.ai.ticket/tsconfig.build.json","products/juhai.ai.ticket/tsconfig.json","reports/transactional-write-chain.latest.json","scripts/check-transactional-write-chain.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","turbo.json"]},{"id":"93598cc86c43b217c9b9b5dde7b8275bada3775b","message":"chore: refresh OS product blueprint reports\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/93598cc86c43b217c9b9b5dde7b8275bada3775b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:37:52-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"5901fddaa4fb03678e2367fea9ed81797de20f0f","message":"docs: define Digital Employee OS ticket product layer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/5901fddaa4fb03678e2367fea9ed81797de20f0f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:37:25-07:00","added":[],"removed":[],"modified":["README.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md"]},{"id":"d5c3cef1b42519c622d95937f43d70be5b48edf3","message":"chore: refresh governance reports\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/d5c3cef1b42519c622d95937f43d70be5b48edf3","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:31:10-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"5a163aff14d43326f49ea9fe6876edfccaca2052","message":"docs: define standalone ticket system blueprint\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/5a163aff14d43326f49ea9fe6876edfccaca2052","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:30:46-07:00","added":["docs/domain/ticket-system-blueprint.md"],"removed":[],"modified":["README.md","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md"]}],"total_commits":0,"head_commit":{"id":"343e79d764ae566372808d0d922fcef7ca12a30e","message":"feat: establish governed AI ticket system core\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/343e79d764ae566372808d0d922fcef7ca12a30e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:10:23-07:00","added":["apps/api-fastify/prisma/migrations/20260825170000_ticket_core/migration.sql","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/prisma/migrations/20260825170000_ticket_core/migration.sql","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/src/components/TicketsPanel.tsx","packages/contracts/src/ticket.ts","products/juhai.ai.ticket/README.md","products/juhai.ai.ticket/acceptance/juhai.ai.ticket.core.acceptance.mjs","products/juhai.ai.ticket/acceptance/juhai.ai.ticket.web.acceptance.ts","products/juhai.ai.ticket/kernel.products.entry.json","products/juhai.ai.ticket/manifest.ts","products/juhai.ai.ticket/migrations/juhai.ai.ticket.core/20260825183000_create_ticket_core.sql","products/juhai.ai.ticket/package.json","products/juhai.ai.ticket/src/contracts/runtime-contracts.ts","products/juhai.ai.ticket/src/extensions-web.ts","products/juhai.ai.ticket/src/extensions.ts","products/juhai.ai.ticket/src/fastify/ticket-plugin.ts","products/juhai.ai.ticket/src/index.ts","products/juhai.ai.ticket/src/nestjs/ticket.module.ts","products/juhai.ai.ticket/src/repositories/ticket-repository.ts","products/juhai.ai.ticket/src/skills/ticket-triage-skill.ts","products/juhai.ai.ticket/src/tools/ticket-tools.ts","products/juhai.ai.ticket/src/web.ts","products/juhai.ai.ticket/src/web/ticket-workspace.tsx","products/juhai.ai.ticket/tsconfig.build.json","products/juhai.ai.ticket/tsconfig.json","reports/transactional-write-chain.latest.json","scripts/check-transactional-write-chain.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","turbo.json"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-08-26T09:12:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787706746
|
1787706776
|
0
|
1787706744
|
1787706777
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23537
|
feat(mobile): add governed Capacitor delivery
|
81
|
5
|
governance.yml
|
7
|
5
|
0
|
refs/heads/main
|
466e9752ba0f670d790b5134ff2d12e5b0e974ea
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","after":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7...466e9752ba0f670d790b5134ff2d12e5b0e974ea","commits":[{"id":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","message":"feat(mobile): add governed Capacitor delivery\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/466e9752ba0f670d790b5134ff2d12e5b0e974ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-27T01:51:00-07:00","added":["apps/web/android/.gitignore","apps/web/android/app/.gitignore","apps/web/android/app/build.gradle","apps/web/android/app/capacitor.build.gradle","apps/web/android/app/proguard-rules.pro","apps/web/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java","apps/web/android/app/src/main/AndroidManifest.xml","apps/web/android/app/src/main/java/com/juhai/service/MainActivity.java","apps/web/android/app/src/main/res/drawable-land-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml","apps/web/android/app/src/main/res/drawable/ic_launcher_background.xml","apps/web/android/app/src/main/res/drawable/splash.png","apps/web/android/app/src/main/res/layout/activity_main.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/values/ic_launcher_background.xml","apps/web/android/app/src/main/res/values/strings.xml","apps/web/android/app/src/main/res/values/styles.xml","apps/web/android/app/src/main/res/xml/file_paths.xml","apps/web/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java","apps/web/android/build.gradle","apps/web/android/capacitor.settings.gradle","apps/web/android/gradle.properties","apps/web/android/gradle/wrapper/gradle-wrapper.jar","apps/web/android/gradle/wrapper/gradle-wrapper.properties","apps/web/android/gradlew","apps/web/android/gradlew.bat","apps/web/android/settings.gradle","apps/web/android/variables.gradle","apps/web/capacitor.config.ts","apps/web/ios/.gitignore","apps/web/ios/App/App.xcodeproj/project.pbxproj","apps/web/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist","apps/web/ios/App/App/AppDelegate.swift","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png","apps/web/ios/App/App/Base.lproj/LaunchScreen.storyboard","apps/web/ios/App/App/Base.lproj/Main.storyboard","apps/web/ios/App/App/Info.plist","apps/web/ios/App/CapApp-SPM/.gitignore","apps/web/ios/App/CapApp-SPM/Package.swift","apps/web/ios/App/CapApp-SPM/README.md","apps/web/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift","apps/web/ios/debug.xcconfig","apps/web/src/features/service-cases/components/ServiceReportClient.tsx","reports/mobile-delivery.latest.json","scripts/build-mobile-web.mjs","scripts/check-mobile-delivery.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml","CLAUDE.md","README.md","apps/web/eslint.config.mjs","apps/web/package.json","apps/web/src/app/service/[token]/page.tsx","docs/domain/business-logic-map.md","package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","message":"feat(mobile): add governed Capacitor delivery\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/466e9752ba0f670d790b5134ff2d12e5b0e974ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-27T01:51:00-07:00","added":["apps/web/android/.gitignore","apps/web/android/app/.gitignore","apps/web/android/app/build.gradle","apps/web/android/app/capacitor.build.gradle","apps/web/android/app/proguard-rules.pro","apps/web/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java","apps/web/android/app/src/main/AndroidManifest.xml","apps/web/android/app/src/main/java/com/juhai/service/MainActivity.java","apps/web/android/app/src/main/res/drawable-land-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml","apps/web/android/app/src/main/res/drawable/ic_launcher_background.xml","apps/web/android/app/src/main/res/drawable/splash.png","apps/web/android/app/src/main/res/layout/activity_main.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/values/ic_launcher_background.xml","apps/web/android/app/src/main/res/values/strings.xml","apps/web/android/app/src/main/res/values/styles.xml","apps/web/android/app/src/main/res/xml/file_paths.xml","apps/web/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java","apps/web/android/build.gradle","apps/web/android/capacitor.settings.gradle","apps/web/android/gradle.properties","apps/web/android/gradle/wrapper/gradle-wrapper.jar","apps/web/android/gradle/wrapper/gradle-wrapper.properties","apps/web/android/gradlew","apps/web/android/gradlew.bat","apps/web/android/settings.gradle","apps/web/android/variables.gradle","apps/web/capacitor.config.ts","apps/web/ios/.gitignore","apps/web/ios/App/App.xcodeproj/project.pbxproj","apps/web/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist","apps/web/ios/App/App/AppDelegate.swift","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png","apps/web/ios/App/App/Base.lproj/LaunchScreen.storyboard","apps/web/ios/App/App/Base.lproj/Main.storyboard","apps/web/ios/App/App/Info.plist","apps/web/ios/App/CapApp-SPM/.gitignore","apps/web/ios/App/CapApp-SPM/Package.swift","apps/web/ios/App/CapApp-SPM/README.md","apps/web/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift","apps/web/ios/debug.xcconfig","apps/web/src/features/service-cases/components/ServiceReportClient.tsx","reports/mobile-delivery.latest.json","scripts/build-mobile-web.mjs","scripts/check-mobile-delivery.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml","CLAUDE.md","README.md","apps/web/eslint.config.mjs","apps/web/package.json","apps/web/src/app/service/[token]/page.tsx","docs/domain/business-logic-map.md","package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2514,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T11:19: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
|
6
|
1787820687
|
1787820696
|
0
|
1787820687
|
1787820696
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23535
|
test(governance): close dual-backend runtime blind test(governance): close dual-backend runtime blind spots...
|
81
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","after":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/fbedaf6d0398693dc8466b4b72b6265d2397d93c...3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","commits":[{"id":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","message":"test(governance): close dual-backend runtime blind spots\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T20:18:54-07:00","added":["apps/api-nestjs/test/backend-parity.acceptance.test.ts","apps/api-nestjs/test/health-degraded.acceptance.test.ts","apps/api-nestjs/test/job-failure.acceptance.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/src/app/page.tsx","apps/web/src/hooks/useRealtime.ts","docs/domain/business-logic-map.md","docs/governance-experience.md","packages/contracts/src/user.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","message":"test(governance): close dual-backend runtime blind spots\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/3d56a9a4fb9cccedf11cfdb53a470fa7f29e94c7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T20:18:54-07:00","added":["apps/api-nestjs/test/backend-parity.acceptance.test.ts","apps/api-nestjs/test/health-degraded.acceptance.test.ts","apps/api-nestjs/test/job-failure.acceptance.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/src/app/page.tsx","apps/web/src/hooks/useRealtime.ts","docs/domain/business-logic-map.md","docs/governance-experience.md","packages/contracts/src/user.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2395,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T10:30:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787714350
|
1787714358
|
0
|
1787714348
|
1787714358
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23534
|
feat(operations): govern event recovery and activa feat(operations): govern event recovery and activation leases...
|
81
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
fbedaf6d0398693dc8466b4b72b6265d2397d93c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","after":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/158a8d0a3ccc575be23117643ac664ec1b6f73dc...fbedaf6d0398693dc8466b4b72b6265d2397d93c","commits":[{"id":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","message":"feat(operations): govern event recovery and activation leases\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/fbedaf6d0398693dc8466b4b72b6265d2397d93c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T19:30:17-07:00","added":["apps/api-fastify/prisma/migrations/20260825210000_event_delivery_operations/migration.sql","apps/api-fastify/src/modules/service-operations/event-delivery.service.ts","apps/api-nestjs/prisma/migrations/20260825210000_event_delivery_operations/migration.sql","apps/api-nestjs/src/service-operations/event-delivery.service.ts","apps/web/src/features/service-operations/api/event-delivery-api.ts","apps/web/src/features/service-operations/components/EventDeliveryOperations.tsx","apps/web/src/features/service-operations/hooks/use-event-delivery.ts","packages/contracts/src/event-delivery.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/plugins/os-activation.ts","apps/api-fastify/src/routes/service-operations.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/service-cases.integration.test.ts","apps/api-fastify/test/service-operations.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/service-cases/os-activation-dispatcher.service.ts","apps/api-nestjs/src/service-operations/service-operations.controller.ts","apps/api-nestjs/src/service-operations/service-operations.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/api-nestjs/test/service-operations.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ServiceOperationsPanels.tsx","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/business-logic-map.md","docs/domain/owner-matrix.md","docs/domain/service-operations-blueprint.md","docs/governance-experience.md","packages/contracts/src/auth.test.ts","packages/contracts/src/auth.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-auth-source.mjs","scripts/check-dual-backend-parity.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"fbedaf6d0398693dc8466b4b72b6265d2397d93c","message":"feat(operations): govern event recovery and activation leases\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/fbedaf6d0398693dc8466b4b72b6265d2397d93c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T19:30:17-07:00","added":["apps/api-fastify/prisma/migrations/20260825210000_event_delivery_operations/migration.sql","apps/api-fastify/src/modules/service-operations/event-delivery.service.ts","apps/api-nestjs/prisma/migrations/20260825210000_event_delivery_operations/migration.sql","apps/api-nestjs/src/service-operations/event-delivery.service.ts","apps/web/src/features/service-operations/api/event-delivery-api.ts","apps/web/src/features/service-operations/components/EventDeliveryOperations.tsx","apps/web/src/features/service-operations/hooks/use-event-delivery.ts","packages/contracts/src/event-delivery.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/plugins/os-activation.ts","apps/api-fastify/src/routes/service-operations.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/service-cases.integration.test.ts","apps/api-fastify/test/service-operations.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/service-cases/os-activation-dispatcher.service.ts","apps/api-nestjs/src/service-operations/service-operations.controller.ts","apps/api-nestjs/src/service-operations/service-operations.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/api-nestjs/test/service-operations.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ServiceOperationsPanels.tsx","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/business-logic-map.md","docs/domain/owner-matrix.md","docs/domain/service-operations-blueprint.md","docs/governance-experience.md","packages/contracts/src/auth.test.ts","packages/contracts/src/auth.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-auth-source.mjs","scripts/check-dual-backend-parity.mjs","scripts/governance-report.mjs"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2236,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T10:07: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
|
6
|
1787712441
|
1787712471
|
0
|
1787711431
|
1787712472
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23533
|
feat(events): harden outbox delivery and map busin feat(events): harden outbox delivery and map business logic...
|
81
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
158a8d0a3ccc575be23117643ac664ec1b6f73dc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","after":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284...158a8d0a3ccc575be23117643ac664ec1b6f73dc","commits":[{"id":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","message":"feat(events): harden outbox delivery and map business logic\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/158a8d0a3ccc575be23117643ac664ec1b6f73dc","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T19:07:32-07:00","added":["apps/api-fastify/prisma/migrations/20260825190000_outbox_replay_cursor/migration.sql","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-nestjs/prisma/migrations/20260825190000_outbox_replay_cursor/migration.sql","apps/api-nestjs/test/outbox.concurrency.test.ts","docs/domain/business-logic-map.md"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/web/src/store/realtime.ts","docs/README.md","docs/domain/owner-matrix.md","docs/governance-experience.md","packages/contracts/src/contracts.test.ts","packages/contracts/src/realtime.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"158a8d0a3ccc575be23117643ac664ec1b6f73dc","message":"feat(events): harden outbox delivery and map business logic\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/158a8d0a3ccc575be23117643ac664ec1b6f73dc","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T19:07:32-07:00","added":["apps/api-fastify/prisma/migrations/20260825190000_outbox_replay_cursor/migration.sql","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-nestjs/prisma/migrations/20260825190000_outbox_replay_cursor/migration.sql","apps/api-nestjs/test/outbox.concurrency.test.ts","docs/domain/business-logic-map.md"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/web/src/store/realtime.ts","docs/README.md","docs/domain/owner-matrix.md","docs/governance-experience.md","packages/contracts/src/contracts.test.ts","packages/contracts/src/realtime.ts","reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2137,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T09:52: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
|
3
|
4
|
0
|
1787711431
|
0
|
1787710066
|
1787711431
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23532
|
chore(governance): synchronize agent adapters
|
81
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ce807fe941d01cc4a4a399c474be857407d4aed9","after":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/ce807fe941d01cc4a4a399c474be857407d4aed9...f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","commits":[{"id":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","message":"chore(governance): synchronize agent adapters\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:51:53-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","message":"chore(governance): synchronize agent adapters\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:51:53-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2061,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T09:47:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1787709144
|
1787709152
|
0
|
1787709129
|
1787709153
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23531
|
docs(governance): clarify evidence baseline
|
81
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
ce807fe941d01cc4a4a399c474be857407d4aed9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"464b90ba5bf51536276468811aac396e51d66892","after":"ce807fe941d01cc4a4a399c474be857407d4aed9","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/464b90ba5bf51536276468811aac396e51d66892...ce807fe941d01cc4a4a399c474be857407d4aed9","commits":[{"id":"ce807fe941d01cc4a4a399c474be857407d4aed9","message":"docs(governance): clarify evidence baseline\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/ce807fe941d01cc4a4a399c474be857407d4aed9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:46:56-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/docs-truth.latest.json","reports/governance-docs.latest.json"]},{"id":"a66ef1d2521ccf4b1c9a9c2da07eb9975ae1dc71","message":"feat(governance): enforce signed tenant auth\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/a66ef1d2521ccf4b1c9a9c2da07eb9975ae1dc71","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:46:21-07:00","added":["apps/api-fastify/src/plugins/auth.ts","apps/api-nestjs/src/common/auth.guard.ts","packages/contracts/src/auth.test.ts","packages/contracts/src/auth.ts","reports/auth-source.latest.json","scripts/check-auth-source.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/routes/service-cases.ts","apps/api-fastify/src/routes/service-operations.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/service-cases/service-cases.controller.ts","apps/api-nestjs/src/service-operations/service-operations.controller.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/src/lib/api.ts","artifacts/os-products/juhai-service-os-product-0.2.0.tgz","artifacts/os-products/juhai-service-os-product.lock.json","docs/governance-experience.md","os-products/juhai.service/acceptance/juhai.service.product.acceptance.acceptance.mjs","package.json","packages/contracts/package.json","packages/contracts/src/index.ts","pnpm-lock.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"ce807fe941d01cc4a4a399c474be857407d4aed9","message":"docs(governance): clarify evidence baseline\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/ce807fe941d01cc4a4a399c474be857407d4aed9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:46:56-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/docs-truth.latest.json","reports/governance-docs.latest.json"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":1782,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T08:48: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
|
3
|
4
|
0
|
1787709129
|
0
|
1787708840
|
1787709129
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23524
|
chore(governance): refresh clean static evidence
|
81
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
464b90ba5bf51536276468811aac396e51d66892
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"464b90ba5bf51536276468811aac396e51d66892","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"464b90ba5bf51536276468811aac396e51d66892","message":"chore(governance): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/464b90ba5bf51536276468811aac396e51d66892","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:47:04-07:00","added":[],"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/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json"]},{"id":"3f5170b91355e6726ead25e98deb98ea406508a8","message":"fix: close diagnosis and governance gaps\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/3f5170b91355e6726ead25e98deb98ea406508a8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:09:26-07:00","added":["reports/service-contracts.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/src/modules/service-cases/service-cases.service.ts","apps/api-fastify/test/service-cases.integration.test.ts","apps/api-nestjs/src/service-cases/service-cases.service.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ServiceCaseWorkbench.tsx","docs/domain/service-case-blueprint.md","docs/governance-experience.md","package.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-os-product.mjs","scripts/check-service-contracts.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"92324df6f0d200c66af7c2f378b471888405b358","message":"feat: add governed juhai service product layer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/92324df6f0d200c66af7c2f378b471888405b358","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:56:28-07:00","added":["apps/api-fastify/prisma/migrations/20260824090000_service_case_p0/migration.sql","apps/api-fastify/prisma/migrations/20260824120000_service_operations/migration.sql","apps/api-fastify/prisma/migrations/20260824150000_os_tool_receipts/migration.sql","apps/api-fastify/prisma/migrations/20260824160000_os_product_activations/migration.sql","apps/api-fastify/src/modules/service-cases/service-cases.service.ts","apps/api-fastify/src/modules/service-operations/service-operations.service.ts","apps/api-fastify/src/plugins/os-activation.ts","apps/api-fastify/src/routes/service-cases.ts","apps/api-fastify/src/routes/service-operations.ts","apps/api-fastify/test/service-cases.integration.test.ts","apps/api-fastify/test/service-operations.integration.test.ts","apps/api-nestjs/prisma/migrations/20260824090000_service_case_p0/migration.sql","apps/api-nestjs/prisma/migrations/20260824120000_service_operations/migration.sql","apps/api-nestjs/prisma/migrations/20260824150000_os_tool_receipts/migration.sql","apps/api-nestjs/prisma/migrations/20260824160000_os_product_activations/migration.sql","apps/api-nestjs/src/service-cases/os-activation-dispatcher.service.ts","apps/api-nestjs/src/service-cases/service-cases.controller.ts","apps/api-nestjs/src/service-cases/service-cases.module.ts","apps/api-nestjs/src/service-cases/service-cases.service.ts","apps/api-nestjs/src/service-operations/service-operations.controller.ts","apps/api-nestjs/src/service-operations/service-operations.module.ts","apps/api-nestjs/src/service-operations/service-operations.service.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/api-nestjs/test/service-operations.integration.test.ts","apps/web/src/app/icon.svg","apps/web/src/app/service/[token]/page.tsx","apps/web/src/components/ServiceCaseWorkbench.tsx","apps/web/src/components/ServiceOperationsPanels.tsx","artifacts/contracts/.gitkeep","artifacts/contracts/juhai-service-contracts-0.1.0.tgz","artifacts/contracts/juhai-service-contracts-0.2.0.tgz","artifacts/contracts/juhai-service-contracts-0.3.0.tgz","artifacts/contracts/juhai-service-contracts-0.4.0.tgz","artifacts/contracts/service-contracts.lock.json","artifacts/os-products/juhai-service-os-product-0.1.0.tgz","artifacts/os-products/juhai-service-os-product-0.2.0.tgz","artifacts/os-products/juhai-service-os-product.lock.json","docs/domain/digital-employee-os-product-blueprint.md","docs/domain/service-case-blueprint.md","docs/domain/service-operations-blueprint.md","os-products/juhai.service/README.md","os-products/juhai.service/acceptance/juhai.service.product.acceptance.acceptance.mjs","os-products/juhai.service/manifest.json","os-products/juhai.service/package.json","os-products/juhai.service/product.lock.json","os-products/juhai.service/src/contracts.ts","os-products/juhai.service/src/index.ts","os-products/juhai.service/src/manifest.ts","os-products/juhai.service/src/skills.ts","os-products/juhai.service/src/tools.ts","output/playwright/juhai-knowledge-center-final.png","output/playwright/juhai-knowledge-published-final.png","output/playwright/juhai-operations-dashboard-final.png","output/playwright/juhai-pilot-control-final.png","output/playwright/juhai-service-h5-390x844-before-acceptance.png","output/playwright/juhai-service-h5-390x844-completed.png","output/playwright/juhai-service-workbench-live-final.png","output/playwright/juhai-service-workbench-live.png","packages/contracts/src/digital-employee-os.ts","packages/contracts/src/service-case.test.ts","packages/contracts/src/service-case.ts","packages/contracts/src/service-operations.ts","packages/service-contracts/package.json","packages/service-contracts/src/digital-employee-os.ts","packages/service-contracts/src/index.test.ts","packages/service-contracts/src/index.ts","packages/service-contracts/src/service-case.ts","packages/service-contracts/src/service-operations.ts","packages/service-contracts/tsconfig.json","reports/os-product.latest.json","scripts/check-os-product.mjs","scripts/check-service-contracts.mjs","scripts/pack-os-product.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/governance-experience.md","package.json","packages/contracts/package.json","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","pnpm-lock.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"24e5dc292b0ac0acc47c0c900388cebb20cf6d07","message":"chore: refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/24e5dc292b0ac0acc47c0c900388cebb20cf6d07","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-03T21:01:59-07:00","added":[],"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/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"be316e46e829c58a7cf449d2a0d1f80de6986bf5","message":"chore: record migration evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/be316e46e829c58a7cf449d2a0d1f80de6986bf5","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-03T21:01:32-07:00","added":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md"]}],"total_commits":0,"head_commit":{"id":"464b90ba5bf51536276468811aac396e51d66892","message":"chore(governance): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/464b90ba5bf51536276468811aac396e51d66892","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:47:04-07:00","added":[],"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/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json"]},"repository":{"id":81,"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-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-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-26T08:47:15+08:00","updated_at":"2026-08-26T08:48:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787705287
|
1787705295
|
0
|
1787705280
|
1787705295
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23526
|
feat: harden device cloud governance
|
80
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
7307924582aa9ace4042b51463833ebd9bc9d17e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","after":"7307924582aa9ace4042b51463833ebd9bc9d17e","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/compare/49e97bd63c64e1d0484db4acffd63d40ab27bbbe...7307924582aa9ace4042b51463833ebd9bc9d17e","commits":[{"id":"7307924582aa9ace4042b51463833ebd9bc9d17e","message":"feat: harden device cloud governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/7307924582aa9ace4042b51463833ebd9bc9d17e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:19:11-07:00","added":["reports/ci-evidence.latest.json","reports/device-boundaries.latest.json","reports/evidence-current.latest.json","scripts/check-ci-evidence.mjs","scripts/check-device-boundaries.mjs","scripts/check-evidence-current.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/src/modules/device-v1a/device-v1a.service.ts","apps/api-fastify/src/routes/device-v1a.ts","apps/api-fastify/test/device-v1a.integration.test.ts","apps/api-nestjs/src/device-v1a/device-v1a.service.ts","apps/api-nestjs/test/device-v1a.integration.test.ts","apps/web/e2e/acceptance.spec.ts","docs/standards/api-standard.md","governance.registry.json","governance.registry.schema.json","package.json","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/os-product-compat.latest.json","reports/os-product-runtime.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-docs-truth.mjs","scripts/check-fork-readiness.mjs","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"7307924582aa9ace4042b51463833ebd9bc9d17e","message":"feat: harden device cloud governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/7307924582aa9ace4042b51463833ebd9bc9d17e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:19:11-07:00","added":["reports/ci-evidence.latest.json","reports/device-boundaries.latest.json","reports/evidence-current.latest.json","scripts/check-ci-evidence.mjs","scripts/check-device-boundaries.mjs","scripts/check-evidence-current.mjs"],"removed":[],"modified":[".github/pull_request_template.md",".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/src/modules/device-v1a/device-v1a.service.ts","apps/api-fastify/src/routes/device-v1a.ts","apps/api-fastify/test/device-v1a.integration.test.ts","apps/api-nestjs/src/device-v1a/device-v1a.service.ts","apps/api-nestjs/test/device-v1a.integration.test.ts","apps/web/e2e/acceptance.spec.ts","docs/standards/api-standard.md","governance.registry.json","governance.registry.schema.json","package.json","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/os-product-compat.latest.json","reports/os-product-runtime.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-docs-truth.mjs","scripts/check-fork-readiness.mjs","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},"repository":{"id":80,"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-device-cloud","full_name":"luoanwu/juhai-device-cloud","description":"巨嗨设备云:永久设备身份、激活调拨、可信换板与授权治理","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":776,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-device-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-device-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-device-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud.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-25T23:52:33+08:00","updated_at":"2026-08-25T23:52:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787706495
|
1787706585
|
0
|
1787706493
|
1787706586
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23520
|
feat: implement governed device cloud V1
|
80
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
49e97bd63c64e1d0484db4acffd63d40ab27bbbe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","message":"feat: implement governed device cloud V1\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/49e97bd63c64e1d0484db4acffd63d40ab27bbbe","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:46:32-07:00","added":["apps/api-fastify/prisma/migrations/20260824163000_device_v1a/migration.sql","apps/api-fastify/prisma/migrations/20260825100000_device_v1b_activation/migration.sql","apps/api-fastify/prisma/migrations/20260825143000_device_v1b_transfer/migration.sql","apps/api-fastify/prisma/migrations/20260825150000_device_v1b_topology/migration.sql","apps/api-fastify/prisma/migrations/20260825162000_device_v1b_grant_revocation/migration.sql","apps/api-fastify/src/modules/device-v1a/device-v1a.service.ts","apps/api-fastify/src/modules/device-v1b/device-v1b.service.ts","apps/api-fastify/src/routes/device-v1a.ts","apps/api-fastify/src/routes/device-v1b.ts","apps/api-fastify/test/device-v1a.integration.test.ts","apps/api-fastify/test/device-v1b.integration.test.ts","apps/api-nestjs/prisma/migrations/20260824163000_device_v1a/migration.sql","apps/api-nestjs/prisma/migrations/20260825100000_device_v1b_activation/migration.sql","apps/api-nestjs/prisma/migrations/20260825143000_device_v1b_transfer/migration.sql","apps/api-nestjs/prisma/migrations/20260825150000_device_v1b_topology/migration.sql","apps/api-nestjs/prisma/migrations/20260825162000_device_v1b_grant_revocation/migration.sql","apps/api-nestjs/src/device-v1a/device-v1a.controller.ts","apps/api-nestjs/src/device-v1a/device-v1a.module.ts","apps/api-nestjs/src/device-v1a/device-v1a.service.ts","apps/api-nestjs/src/device-v1b/device-v1b.controller.ts","apps/api-nestjs/src/device-v1b/device-v1b.module.ts","apps/api-nestjs/src/device-v1b/device-v1b.service.ts","apps/api-nestjs/test/device-v1a.integration.test.ts","apps/api-nestjs/test/device-v1b.integration.test.ts","apps/web/src/components/DeviceV1aWorkspace.tsx","apps/web/src/components/DeviceV1bActivationWorkspace.tsx","docs/domain/customer-service-product-blueprint.md","docs/domain/device-cloud-blueprint.md","docs/domain/device-cloud-review.md","kernel.products.json","packages/contracts/src/device-v1a.test.ts","packages/contracts/src/device-v1a.ts","packages/contracts/src/device-v1b.test.ts","packages/contracts/src/device-v1b.ts","products/juhai.support/README.md","products/juhai.support/acceptance/juhai.support.case.acceptance.mjs","products/juhai.support/migrations/juhai.support.case/20260825090000_create_support_cases.sql","products/juhai.support/migrations/juhai.support.case/20260825091000_create_support_case_actions.sql","products/juhai.support/package.json","products/juhai.support/product.manifest.json","products/juhai.support/src/case-repository.ts","products/juhai.support/src/contracts.ts","products/juhai.support/src/fastify.ts","products/juhai.support/src/host.ts","products/juhai.support/src/index.ts","products/juhai.support/src/manifest.ts","products/juhai.support/src/nestjs.ts","products/juhai.support/src/tools.ts","products/juhai.support/src/web.tsx","products/juhai.support/test/os-host.runtime.test.ts","products/juhai.support/tsconfig.os-host.json","products/juhai.support/vitest.os-host.config.ts","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/globals.css","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/governance-experience.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"670a202de86da74457bd91abf25430d04ee6cbbf","message":"chore: bind static governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/670a202de86da74457bd91abf25430d04ee6cbbf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T06:38:40-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"47401905d7dfd16ce4c6564b881bffd3083ef847","message":"docs: record device cloud local acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/47401905d7dfd16ce4c6564b881bffd3083ef847","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T06:38:16-07:00","added":["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"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md"]},{"id":"659ea41dd717401cf8c2a12eb36ec4add68ba15d","message":"chore: migrate governed framework to device cloud\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/659ea41dd717401cf8c2a12eb36ec4add68ba15d","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T06:17:21-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"49e97bd63c64e1d0484db4acffd63d40ab27bbbe","message":"feat: implement governed device cloud V1\n","url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud/commit/49e97bd63c64e1d0484db4acffd63d40ab27bbbe","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:46:32-07:00","added":["apps/api-fastify/prisma/migrations/20260824163000_device_v1a/migration.sql","apps/api-fastify/prisma/migrations/20260825100000_device_v1b_activation/migration.sql","apps/api-fastify/prisma/migrations/20260825143000_device_v1b_transfer/migration.sql","apps/api-fastify/prisma/migrations/20260825150000_device_v1b_topology/migration.sql","apps/api-fastify/prisma/migrations/20260825162000_device_v1b_grant_revocation/migration.sql","apps/api-fastify/src/modules/device-v1a/device-v1a.service.ts","apps/api-fastify/src/modules/device-v1b/device-v1b.service.ts","apps/api-fastify/src/routes/device-v1a.ts","apps/api-fastify/src/routes/device-v1b.ts","apps/api-fastify/test/device-v1a.integration.test.ts","apps/api-fastify/test/device-v1b.integration.test.ts","apps/api-nestjs/prisma/migrations/20260824163000_device_v1a/migration.sql","apps/api-nestjs/prisma/migrations/20260825100000_device_v1b_activation/migration.sql","apps/api-nestjs/prisma/migrations/20260825143000_device_v1b_transfer/migration.sql","apps/api-nestjs/prisma/migrations/20260825150000_device_v1b_topology/migration.sql","apps/api-nestjs/prisma/migrations/20260825162000_device_v1b_grant_revocation/migration.sql","apps/api-nestjs/src/device-v1a/device-v1a.controller.ts","apps/api-nestjs/src/device-v1a/device-v1a.module.ts","apps/api-nestjs/src/device-v1a/device-v1a.service.ts","apps/api-nestjs/src/device-v1b/device-v1b.controller.ts","apps/api-nestjs/src/device-v1b/device-v1b.module.ts","apps/api-nestjs/src/device-v1b/device-v1b.service.ts","apps/api-nestjs/test/device-v1a.integration.test.ts","apps/api-nestjs/test/device-v1b.integration.test.ts","apps/web/src/components/DeviceV1aWorkspace.tsx","apps/web/src/components/DeviceV1bActivationWorkspace.tsx","docs/domain/customer-service-product-blueprint.md","docs/domain/device-cloud-blueprint.md","docs/domain/device-cloud-review.md","kernel.products.json","packages/contracts/src/device-v1a.test.ts","packages/contracts/src/device-v1a.ts","packages/contracts/src/device-v1b.test.ts","packages/contracts/src/device-v1b.ts","products/juhai.support/README.md","products/juhai.support/acceptance/juhai.support.case.acceptance.mjs","products/juhai.support/migrations/juhai.support.case/20260825090000_create_support_cases.sql","products/juhai.support/migrations/juhai.support.case/20260825091000_create_support_case_actions.sql","products/juhai.support/package.json","products/juhai.support/product.manifest.json","products/juhai.support/src/case-repository.ts","products/juhai.support/src/contracts.ts","products/juhai.support/src/fastify.ts","products/juhai.support/src/host.ts","products/juhai.support/src/index.ts","products/juhai.support/src/manifest.ts","products/juhai.support/src/nestjs.ts","products/juhai.support/src/tools.ts","products/juhai.support/src/web.tsx","products/juhai.support/test/os-host.runtime.test.ts","products/juhai.support/tsconfig.os-host.json","products/juhai.support/vitest.os-host.config.ts","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json","scripts/check-os-product-compat.mjs","scripts/check-os-product-runtime.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/globals.css","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/governance-experience.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},"repository":{"id":80,"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-device-cloud","full_name":"luoanwu/juhai-device-cloud","description":"巨嗨设备云:永久设备身份、激活调拨、可信换板与授权治理","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-device-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-device-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-device-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-device-cloud.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-25T23:52:33+08:00","updated_at":"2026-08-25T23:52:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787673172
|
1787673196
|
0
|
1787673170
|
1787673197
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23639
|
docs(governance): refresh remote snapshot evidence
|
76
|
5
|
governance.yml
|
39
|
5
|
0
|
refs/heads/main
|
a772517da3040f54e5d2c91fa5e1c133cabd3c17
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","after":"a772517da3040f54e5d2c91fa5e1c133cabd3c17","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07...a772517da3040f54e5d2c91fa5e1c133cabd3c17","commits":[{"id":"a772517da3040f54e5d2c91fa5e1c133cabd3c17","message":"docs(governance): refresh remote snapshot evidence\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a772517da3040f54e5d2c91fa5e1c133cabd3c17","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T22:01:58-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"a772517da3040f54e5d2c91fa5e1c133cabd3c17","message":"docs(governance): refresh remote snapshot evidence\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a772517da3040f54e5d2c91fa5e1c133cabd3c17","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T22:01:58-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":82651,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-05T12:58: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
|
2
|
64
|
1788584557
|
1788586687
|
0
|
1788584556
|
1788586719
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23638
|
feat(governance): expand RAG capacity and enforce feat(governance): expand RAG capacity and enforce merge gate...
|
76
|
5
|
governance.yml
|
38
|
5
|
0
|
refs/heads/main
|
f6bd2a9868bc86b739584c2b3833b3d98d3eaf07
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9159f925070e50ba4126f448cb7755396e4a66ac","after":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/9159f925070e50ba4126f448cb7755396e4a66ac...f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","commits":[{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]}],"total_commits":0,"head_commit":{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":82022,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T13:15:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1788584337
|
1788584474
|
0
|
1788584337
|
1788584483
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23635
|
docs(governance): 快照记录 run 33835310370——f0ccb47 St docs(governance): 快照记录 run 33835310370——f0ccb47 Static + Runtime/UI 绿、入职恢复用例 CI 通过、13/15 job 绿;锚点刷新至 f0ccb47...
|
76
|
5
|
governance.yml
|
37
|
5
|
0
|
refs/heads/main
|
9159f925070e50ba4126f448cb7755396e4a66ac
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","after":"9159f925070e50ba4126f448cb7755396e4a66ac","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/f0ccb47b6ee3f55638f9941477a83f05669d40a1...9159f925070e50ba4126f448cb7755396e4a66ac","commits":[{"id":"9159f925070e50ba4126f448cb7755396e4a66ac","message":"docs(governance): 快照记录 run 33835310370——f0ccb47 Static + Runtime/UI 绿、入职恢复用例 CI 通过、13/15 job 绿;锚点刷新至 f0ccb47\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9159f925070e50ba4126f448cb7755396e4a66ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T22:14:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"9159f925070e50ba4126f448cb7755396e4a66ac","message":"docs(governance): 快照记录 run 33835310370——f0ccb47 Static + Runtime/UI 绿、入职恢复用例 CI 通过、13/15 job 绿;锚点刷新至 f0ccb47\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9159f925070e50ba4126f448cb7755396e4a66ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T22:14:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":81698,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T12:02:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788498900
|
1788499169
|
0
|
1788498900
|
1788499171
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23634
|
fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTi fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落...
|
76
|
5
|
governance.yml
|
36
|
5
|
0
|
refs/heads/main
|
f0ccb47b6ee3f55638f9941477a83f05669d40a1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"02014ba736e60658da75a21175f631c844bd1131","after":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/02014ba736e60658da75a21175f631c844bd1131...f0ccb47b6ee3f55638f9941477a83f05669d40a1","commits":[{"id":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","message":"fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落\n\n- C247:run 33832242971 上「正在恢复」态 30s 不离场——全局 staleTime=60s 让仍新鲜的缓存不重取,isFetchedAfterMount 永远 false;恢复挂载时 invalidateQueries(actorKeys.detail) 强制一次新鲜读取\n- runner:失败时读取 error-context.md(最多 3 个 × 12 KiB,脱敏)打进 CI 日志并记入子报告 errorContexts(C239 缺口)\n- C248:快照实锤名称输入在后台 refetch 的 disabled 窗内被吞、按钮因 !name 禁用至 60s——输入前等「核对用户事实」可用,输入后断言值已落、落不住重填\n- 本机双侧 UI 31/31(共 62 次)绿、静态门禁整轮绿;快照锚点刷新至 02014ba\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f0ccb47b6ee3f55638f9941477a83f05669d40a1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T21:01:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","message":"fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落\n\n- C247:run 33832242971 上「正在恢复」态 30s 不离场——全局 staleTime=60s 让仍新鲜的缓存不重取,isFetchedAfterMount 永远 false;恢复挂载时 invalidateQueries(actorKeys.detail) 强制一次新鲜读取\n- runner:失败时读取 error-context.md(最多 3 个 × 12 KiB,脱敏)打进 CI 日志并记入子报告 errorContexts(C239 缺口)\n- C248:快照实锤名称输入在后台 refetch 的 disabled 窗内被吞、按钮因 !name 禁用至 60s——输入前等「核对用户事实」可用,输入后断言值已落、落不住重填\n- 本机双侧 UI 31/31(共 62 次)绿、静态门禁整轮绿;快照锚点刷新至 02014ba\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f0ccb47b6ee3f55638f9941477a83f05669d40a1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T21:01:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":81289,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T11:10:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788494521
|
1788495554
|
0
|
1788494520
|
1788495554
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23633
|
fix(web): C247 入职恢复只认挂载后新鲜读取的 Actor 事实——过期缓存 DRAFT fix(web): C247 入职恢复只认挂载后新鲜读取的 Actor 事实——过期缓存 DRAFT 曾把步骤钉在第 1 步(C240/C246 超时根因)...
|
76
|
5
|
governance.yml
|
35
|
5
|
0
|
refs/heads/main
|
02014ba736e60658da75a21175f631c844bd1131
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3880f4c3e375d174894b58fb5a2cbbfa24a9daee","after":"02014ba736e60658da75a21175f631c844bd1131","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/3880f4c3e375d174894b58fb5a2cbbfa24a9daee...02014ba736e60658da75a21175f631c844bd1131","commits":[{"id":"02014ba736e60658da75a21175f631c844bd1131","message":"fix(web): C247 入职恢复只认挂载后新鲜读取的 Actor 事实——过期缓存 DRAFT 曾把步骤钉在第 1 步(C240/C246 超时根因)\n\n- 第 1 步创建后 configure 的失效重取若在「返回团队」卸载前未完成,缓存留下 DRAFT;再进入时 useActor 先吐出过期缓存,一次性守卫不再纠正\n- isFetchedAfterMount 为 false 时继续显示「正在恢复」,恢复效应只以新鲜事实决定步骤;缓存只作过渡不作裁决\n- 本机双侧 UI 31/31(共 62 次)复跑绿、静态门禁整轮绿;快照锚点刷新至 3880f4c,快照/ci-gate/G14 记录 run 33829889452 判责\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/02014ba736e60658da75a21175f631c844bd1131","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T20:10:36-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"02014ba736e60658da75a21175f631c844bd1131","message":"fix(web): C247 入职恢复只认挂载后新鲜读取的 Actor 事实——过期缓存 DRAFT 曾把步骤钉在第 1 步(C240/C246 超时根因)\n\n- 第 1 步创建后 configure 的失效重取若在「返回团队」卸载前未完成,缓存留下 DRAFT;再进入时 useActor 先吐出过期缓存,一次性守卫不再纠正\n- isFetchedAfterMount 为 false 时继续显示「正在恢复」,恢复效应只以新鲜事实决定步骤;缓存只作过渡不作裁决\n- 本机双侧 UI 31/31(共 62 次)复跑绿、静态门禁整轮绿;快照锚点刷新至 3880f4c,快照/ci-gate/G14 记录 run 33829889452 判责\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/02014ba736e60658da75a21175f631c844bd1131","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T20:10:36-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":80931,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T10:32: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
|
60
|
1788491442
|
1788492793
|
0
|
1788491441
|
1788492793
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23632
|
fix(e2e): C246 入职恢复用例等待锚定到「正在恢复」态离场——15s 余量在 run 3 fix(e2e): C246 入职恢复用例等待锚定到「正在恢复」态离场——15s 余量在 run 33825343833 两次被 CI 打穿...
|
76
|
5
|
governance.yml
|
34
|
5
|
0
|
refs/heads/main
|
3880f4c3e375d174894b58fb5a2cbbfa24a9daee
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c4527a54c79cb07d5935971b07177cdf17d8106b","after":"3880f4c3e375d174894b58fb5a2cbbfa24a9daee","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/c4527a54c79cb07d5935971b07177cdf17d8106b...3880f4c3e375d174894b58fb5a2cbbfa24a9daee","commits":[{"id":"3880f4c3e375d174894b58fb5a2cbbfa24a9daee","message":"fix(e2e): C246 入职恢复用例等待锚定到「正在恢复」态离场——15s 余量在 run 33825343833 两次被 CI 打穿\n\n- 恢复向导三态(loading/error/wizard):先有界 30s 等待 employee-onboarding-loading 离场并断言未进入 error,再按原 15s 口径断言步骤与标题;业务断言不放宽\n- 本机双侧 UI 31/31(共 62 次)复跑绿;静态门禁整轮绿;快照锚点刷新至 c4527a5,快照/ci-gate/G14 记录 run 33825343833 判责\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3880f4c3e375d174894b58fb5a2cbbfa24a9daee","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T19:32:10-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"3880f4c3e375d174894b58fb5a2cbbfa24a9daee","message":"fix(e2e): C246 入职恢复用例等待锚定到「正在恢复」态离场——15s 余量在 run 33825343833 两次被 CI 打穿\n\n- 恢复向导三态(loading/error/wizard):先有界 30s 等待 employee-onboarding-loading 离场并断言未进入 error,再按原 15s 口径断言步骤与标题;业务断言不放宽\n- 本机双侧 UI 31/31(共 62 次)复跑绿;静态门禁整轮绿;快照锚点刷新至 c4527a5,快照/ci-gate/G14 记录 run 33825343833 判责\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3880f4c3e375d174894b58fb5a2cbbfa24a9daee","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T19:32:10-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":80558,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T09:19: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
|
32
|
1788489138
|
1788489408
|
0
|
1788489137
|
1788489409
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23631
|
docs(governance): 快照记录 run 33820761619——85700ff St docs(governance): 快照记录 run 33820761619——85700ff Static + Runtime/UI 绿、Loki/Tempo/OTel 扫描全绿,仅 Alertmanager/Prometheus 待上游;锚点刷新至 85700ff...
|
76
|
5
|
governance.yml
|
33
|
5
|
0
|
refs/heads/main
|
c4527a54c79cb07d5935971b07177cdf17d8106b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"85700ffb08dad2ed30f94fc024324d9955a122c8","after":"c4527a54c79cb07d5935971b07177cdf17d8106b","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/85700ffb08dad2ed30f94fc024324d9955a122c8...c4527a54c79cb07d5935971b07177cdf17d8106b","commits":[{"id":"c4527a54c79cb07d5935971b07177cdf17d8106b","message":"docs(governance): 快照记录 run 33820761619——85700ff Static + Runtime/UI 绿、Loki/Tempo/OTel 扫描全绿,仅 Alertmanager/Prometheus 待上游;锚点刷新至 85700ff\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c4527a54c79cb07d5935971b07177cdf17d8106b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T18:19:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"c4527a54c79cb07d5935971b07177cdf17d8106b","message":"docs(governance): 快照记录 run 33820761619——85700ff Static + Runtime/UI 绿、Loki/Tempo/OTel 扫描全绿,仅 Alertmanager/Prometheus 待上游;锚点刷新至 85700ff\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c4527a54c79cb07d5935971b07177cdf17d8106b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T18:19:44-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":80239,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T08:11:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
60
|
1788484794
|
1788486282
|
0
|
1788484792
|
1788486282
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23630
|
fix(supply-chain): C243 Tempo thrift 地板 0.24.0(CVE fix(supply-chain): C243 Tempo thrift 地板 0.24.0(CVE-2026-43871)——模块地板收口为重建阶段各自的 ARG...
|
76
|
5
|
governance.yml
|
32
|
5
|
0
|
refs/heads/main
|
85700ffb08dad2ed30f94fc024324d9955a122c8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dc3e82cb8b195f394a11166d717dfcb526353dcc","after":"85700ffb08dad2ed30f94fc024324d9955a122c8","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/dc3e82cb8b195f394a11166d717dfcb526353dcc...85700ffb08dad2ed30f94fc024324d9955a122c8","commits":[{"id":"85700ffb08dad2ed30f94fc024324d9955a122c8","message":"fix(supply-chain): C243 Tempo thrift 地板 0.24.0(CVE-2026-43871)——模块地板收口为重建阶段各自的 ARG\n\n- run 33818470507(dc3e82c):Static + Runtime/UI 绿、Loki 扫描转绿;Tempo 构建通过后暴露 apache/thrift 0.23.0 HIGH\n- loki-build/tempo-build 各自 ARG *_MODULE_FLOORS(module@version 列表)统一 go get + go mod vendor 并逐项断言 modules.txt 模块行;下次转红只改一行\n- 快照锚点刷新至 dc3e82c;快照/ci-gate/G14 三处同源记录该 run;静态门禁整轮绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/85700ffb08dad2ed30f94fc024324d9955a122c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T17:11:18-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"85700ffb08dad2ed30f94fc024324d9955a122c8","message":"fix(supply-chain): C243 Tempo thrift 地板 0.24.0(CVE-2026-43871)——模块地板收口为重建阶段各自的 ARG\n\n- run 33818470507(dc3e82c):Static + Runtime/UI 绿、Loki 扫描转绿;Tempo 构建通过后暴露 apache/thrift 0.23.0 HIGH\n- loki-build/tempo-build 各自 ARG *_MODULE_FLOORS(module@version 列表)统一 go get + go mod vendor 并逐项断言 modules.txt 模块行;下次转红只改一行\n- 快照锚点刷新至 dc3e82c;快照/ci-gate/G14 三处同源记录该 run;静态门禁整轮绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/85700ffb08dad2ed30f94fc024324d9955a122c8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T17:11:18-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":79915,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T07:38:36+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788480686
|
1788480956
|
0
|
1788480685
|
1788480956
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23629
|
fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vend fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正...
|
76
|
5
|
governance.yml
|
31
|
5
|
0
|
refs/heads/main
|
dc3e82cb8b195f394a11166d717dfcb526353dcc
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","after":"dc3e82cb8b195f394a11166d717dfcb526353dcc","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/7937b2adf8e2349bf89ebd91e94baac5cc2a46dd...dc3e82cb8b195f394a11166d717dfcb526353dcc","commits":[{"id":"dc3e82cb8b195f394a11166d717dfcb526353dcc","message":"fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正\n\n- run 33816294277(7937b2a):Static + Runtime/UI 绿、OTel Collector 钉版后扫描绿;Loki/Tempo 在自断言处构建红——go get 已升级 x/crypto 0.53→0.55/grpc 1.83.2,grep 漏了 modules.txt 的 `# ` 模块行前缀\n- 快照锚点刷新至 7937b2a;快照/ci-gate/G14 三处同源记录该 run;证据新鲜度三行改引 clean 7937b2a 的远端执行\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dc3e82cb8b195f394a11166d717dfcb526353dcc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:38:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"dc3e82cb8b195f394a11166d717dfcb526353dcc","message":"fix(supply-chain): C243 复验——Loki/Tempo 钉版自断言按 vendor/modules.txt 模块行格式(`# ` 前缀)修正\n\n- run 33816294277(7937b2a):Static + Runtime/UI 绿、OTel Collector 钉版后扫描绿;Loki/Tempo 在自断言处构建红——go get 已升级 x/crypto 0.53→0.55/grpc 1.83.2,grep 漏了 modules.txt 的 `# ` 模块行前缀\n- 快照锚点刷新至 7937b2a;快照/ci-gate/G14 三处同源记录该 run;证据新鲜度三行改引 clean 7937b2a 的远端执行\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/dc3e82cb8b195f394a11166d717dfcb526353dcc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:38:28-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":79592,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T07:08:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788478784
|
1788479194
|
0
|
1788478715
|
1788479196
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23628
|
fix(supply-chain): C245 fast-uri override 3.1.5→3. fix(supply-chain): C245 fast-uri override 3.1.5→3.1.6——当日新增 4 个 high 令 c48ff88 的依赖审计步骤红(run 33661658456)...
|
76
|
5
|
governance.yml
|
30
|
5
|
0
|
refs/heads/main
|
7937b2adf8e2349bf89ebd91e94baac5cc2a46dd
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","after":"7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/c48ff8853fb96ecd420890a0e933711dc5fa6a1e...7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","commits":[{"id":"7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","message":"fix(supply-chain): C245 fast-uri override 3.1.5→3.1.6——当日新增 4 个 high 令 c48ff88 的依赖审计步骤红(run 33661658456)\n\n- root pnpm.overrides fast-uri 3.1.6 + 锁文件重建;本机 pnpm audit --prod --audit-level high 0 high(3 moderate 可见)\n- 快照锚点刷新至 c48ff88;ci-gate/G14/快照三处同源记录 run 33661658456 红因;收尾清单新增推送前 audit 自检\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:08:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","message":"fix(supply-chain): C245 fast-uri override 3.1.5→3.1.6——当日新增 4 个 high 令 c48ff88 的依赖审计步骤红(run 33661658456)\n\n- root pnpm.overrides fast-uri 3.1.6 + 锁文件重建;本机 pnpm audit --prod --audit-level high 0 high(3 moderate 可见)\n- 快照锚点刷新至 c48ff88;ci-gate/G14/快照三处同源记录 run 33661658456 红因;收尾清单新增推送前 audit 自检\n- 静态门禁整轮重跑绿,报告随提交刷新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/7937b2adf8e2349bf89ebd91e94baac5cc2a46dd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T16:08:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":79149,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-03T01:32: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
|
3
|
58
|
1788476931
|
1788478715
|
0
|
1788476929
|
1788478715
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23603
|
feat(governance): C242 租户级目录分页收口 G24① + check:list feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复...
|
76
|
5
|
governance.yml
|
29
|
5
|
0
|
refs/heads/main
|
c48ff8853fb96ecd420890a0e933711dc5fa6a1e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"019f721377c4a8970dfc4064886129b1cbcbd089","after":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/019f721377c4a8970dfc4064886129b1cbcbd089...c48ff8853fb96ecd420890a0e933711dc5fa6a1e","commits":[{"id":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","message":"feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复\n\nC242(G24①)\n- 双后端 10 个目录端点统一 contracts 分页信封:conversations/attachments/RAG sources/roles/permissions/skills/skills.catalog/triggers/tools.catalog/tools.assignments;callback tx 内 count+page,排序补 id 决胜键,Fastify 400 先于 403\n- 技能目录按技能名分页,任务/触发器/成长指标改为数据库 GROUP BY 只带回页内技能;contracts 新增 buildSkillCatalogPage/aggregateSkillFacts(原始行路径单测锁定逐字相等),expand-only 升 1.14.0 并重建包锁/下游锁/接入手册锁行\n- tools 目录按页内定义 id 集合取版本/激活/计数;Web 八个 fetcher 与 getRoleAssignments/getSkills 改走 requestAllPages\n- 新增 scripts/check-list-bounds.mjs:租户级 findMany 无 take 即红,身份键 in:/父级外键不在范围,// list-bound-allow 留痕(4 处:事件评估热路径、团队基准投影);8 个负向探针自证;接入 check-all/governance/baseline 棘轮\n- 双后端各新增 list-bounds.acceptance(105 行续页无重复、越界 400、目录信封、分组指标与详情一致);tests 692、own-test-cases 699\n\nC243\n- Loki/Tempo 在精确 release commit 上 go get x/crypto@v0.55.0 grpc@v1.83.2 并重新 vendor(modules.txt 断言);OTel builder manifest replaces 钉版\n- 本机 Docker 经离线系统代理无法拉取基础镜像,本地构建与 runner 复验未完成,以远端 CI 构建/扫描为准;Alertmanager/Prometheus 待上游发布,扫描继续诚实红并登记 G23④\n\nC244\n- runtime runner 的 docs-truth 复验移到本轮 canonical 报告写下之后执行(原作为 plan 末步读到的是上一轮报告,一次 failed 后每轮自锁)\n\n发布状态快照/ci-gate/G14 三处同源更新(锚点 019f721),证据新鲜度三行对齐本轮报告;报告绑定 dirty 指纹 7cfa37d6\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c48ff8853fb96ecd420890a0e933711dc5fa6a1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T10:31:55-07:00","added":["apps/api-fastify/test/list-bounds.acceptance.test.ts","apps/api-nestjs/test/list-bounds.acceptance.test.ts","reports/list-bounds.latest.json","scripts/check-list-bounds.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/attachment.service.ts","apps/api-fastify/src/modules/conversation.service.ts","apps/api-fastify/src/modules/permissions.service.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/permissions.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/skills.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/llm-governance/attachment.controller.ts","apps/api-nestjs/src/llm-governance/attachment.service.ts","apps/api-nestjs/src/llm-governance/conversation.controller.ts","apps/api-nestjs/src/llm-governance/conversation.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/permissions/permissions.controller.ts","apps/api-nestjs/src/permissions/permissions.service.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/tools/tools.controller.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/src/features/attachments/api/attachment-api.ts","apps/web/src/features/conversations/api/conversation-api.ts","apps/web/src/features/permissions/api/permissions-api.ts","apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/skills/api/skills-api.ts","apps/web/src/features/tools/api/tools-api.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/lib/api.ts","deploy/production/Dockerfile","deploy/production/otel-collector-builder.yml","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-all.mjs","scripts/check-runtime-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","message":"feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复\n\nC242(G24①)\n- 双后端 10 个目录端点统一 contracts 分页信封:conversations/attachments/RAG sources/roles/permissions/skills/skills.catalog/triggers/tools.catalog/tools.assignments;callback tx 内 count+page,排序补 id 决胜键,Fastify 400 先于 403\n- 技能目录按技能名分页,任务/触发器/成长指标改为数据库 GROUP BY 只带回页内技能;contracts 新增 buildSkillCatalogPage/aggregateSkillFacts(原始行路径单测锁定逐字相等),expand-only 升 1.14.0 并重建包锁/下游锁/接入手册锁行\n- tools 目录按页内定义 id 集合取版本/激活/计数;Web 八个 fetcher 与 getRoleAssignments/getSkills 改走 requestAllPages\n- 新增 scripts/check-list-bounds.mjs:租户级 findMany 无 take 即红,身份键 in:/父级外键不在范围,// list-bound-allow 留痕(4 处:事件评估热路径、团队基准投影);8 个负向探针自证;接入 check-all/governance/baseline 棘轮\n- 双后端各新增 list-bounds.acceptance(105 行续页无重复、越界 400、目录信封、分组指标与详情一致);tests 692、own-test-cases 699\n\nC243\n- Loki/Tempo 在精确 release commit 上 go get x/crypto@v0.55.0 grpc@v1.83.2 并重新 vendor(modules.txt 断言);OTel builder manifest replaces 钉版\n- 本机 Docker 经离线系统代理无法拉取基础镜像,本地构建与 runner 复验未完成,以远端 CI 构建/扫描为准;Alertmanager/Prometheus 待上游发布,扫描继续诚实红并登记 G23④\n\nC244\n- runtime runner 的 docs-truth 复验移到本轮 canonical 报告写下之后执行(原作为 plan 末步读到的是上一轮报告,一次 failed 后每轮自锁)\n\n发布状态快照/ci-gate/G14 三处同源更新(锚点 019f721),证据新鲜度三行对齐本轮报告;报告绑定 dirty 指纹 7cfa37d6\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c48ff8853fb96ecd420890a0e933711dc5fa6a1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T10:31:55-07:00","added":["apps/api-fastify/test/list-bounds.acceptance.test.ts","apps/api-nestjs/test/list-bounds.acceptance.test.ts","reports/list-bounds.latest.json","scripts/check-list-bounds.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/attachment.service.ts","apps/api-fastify/src/modules/conversation.service.ts","apps/api-fastify/src/modules/permissions.service.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/permissions.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/skills.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/llm-governance/attachment.controller.ts","apps/api-nestjs/src/llm-governance/attachment.service.ts","apps/api-nestjs/src/llm-governance/conversation.controller.ts","apps/api-nestjs/src/llm-governance/conversation.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/permissions/permissions.controller.ts","apps/api-nestjs/src/permissions/permissions.service.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/tools/tools.controller.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/src/features/attachments/api/attachment-api.ts","apps/web/src/features/conversations/api/conversation-api.ts","apps/web/src/features/permissions/api/permissions-api.ts","apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/skills/api/skills-api.ts","apps/web/src/features/tools/api/tools-api.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/lib/api.ts","deploy/production/Dockerfile","deploy/production/otel-collector-builder.yml","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-all.mjs","scripts/check-runtime-acceptance.mjs","scripts/governance-report.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":78546,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-02T23:06: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
|
32
|
1788370323
|
1788370346
|
0
|
1788370321
|
1788370347
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23602
|
docs(governance): C241 快照锚点刷新至 eefb0fe——纯报告刷新提交打穿 docs(governance): C241 快照锚点刷新至 eefb0fe——纯报告刷新提交打穿 C232 自指窗令主干 run 33515811391 红...
|
76
|
5
|
governance.yml
|
28
|
5
|
0
|
refs/heads/main
|
019f721377c4a8970dfc4064886129b1cbcbd089
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eefb0fed0ca13cafe27e806924d4cc2f19154087","after":"019f721377c4a8970dfc4064886129b1cbcbd089","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/eefb0fed0ca13cafe27e806924d4cc2f19154087...019f721377c4a8970dfc4064886129b1cbcbd089","commits":[{"id":"019f721377c4a8970dfc4064886129b1cbcbd089","message":"docs(governance): C241 快照锚点刷新至 eefb0fe——纯报告刷新提交打穿 C232 自指窗令主干 run 33515811391 红\n\n- 发布状态快照/ci-gate 行/G14 三处同源更新:两远端 tip eefb0fe,最近共同 clean CI 89b2ade(run 33301191846 15 job 全绿)\n- 锚点纪律升格:推送批次最后一个提交(含只刷新 reports/ 的提交)必须刷新锚点;收尾清单新增推送前 docs-truth:assert\n- 登记 C241 判责(含 eefb0fe 带入两次运行混杂的静态子报告);证据新鲜度三行对齐真实报告日期与作用域\n- 产品 Host web 的 playwright e2e-results.json 不再入库(与 apps/web 同口径)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/019f721377c4a8970dfc4064886129b1cbcbd089","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T08:06:27-07:00","added":[],"removed":["products/juhai.hr/host/web/e2e-results.json"],"modified":[".gitignore","CLAUDE.md","docs/governance-experience.md"]}],"total_commits":0,"head_commit":{"id":"019f721377c4a8970dfc4064886129b1cbcbd089","message":"docs(governance): C241 快照锚点刷新至 eefb0fe——纯报告刷新提交打穿 C232 自指窗令主干 run 33515811391 红\n\n- 发布状态快照/ci-gate 行/G14 三处同源更新:两远端 tip eefb0fe,最近共同 clean CI 89b2ade(run 33301191846 15 job 全绿)\n- 锚点纪律升格:推送批次最后一个提交(含只刷新 reports/ 的提交)必须刷新锚点;收尾清单新增推送前 docs-truth:assert\n- 登记 C241 判责(含 eefb0fe 带入两次运行混杂的静态子报告);证据新鲜度三行对齐真实报告日期与作用域\n- 产品 Host web 的 playwright e2e-results.json 不再入库(与 apps/web 同口径)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/019f721377c4a8970dfc4064886129b1cbcbd089","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T08:06:27-07:00","added":[],"removed":["products/juhai.hr/host/web/e2e-results.json"],"modified":[".gitignore","CLAUDE.md","docs/governance-experience.md"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":78252,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-01T21:50:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
60
|
1788361595
|
1788362702
|
0
|
1788361593
|
1788362702
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23582
|
chore(governance): 刷新最新治理报告
|
76
|
5
|
governance.yml
|
27
|
5
|
0
|
refs/heads/main
|
eefb0fed0ca13cafe27e806924d4cc2f19154087
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","after":"eefb0fed0ca13cafe27e806924d4cc2f19154087","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef...eefb0fed0ca13cafe27e806924d4cc2f19154087","commits":[{"id":"eefb0fed0ca13cafe27e806924d4cc2f19154087","message":"chore(governance): 刷新最新治理报告\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/eefb0fed0ca13cafe27e806924d4cc2f19154087","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"eefb0fed0ca13cafe27e806924d4cc2f19154087","message":"chore(governance): 刷新最新治理报告\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/eefb0fed0ca13cafe27e806924d4cc2f19154087","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":78233,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T16:16: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
|
32
|
1788270617
|
1788270707
|
0
|
1788270616
|
1788270708
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23569
|
fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级 fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级打穿默认 5s,两侧间歇红(33299722229 由 C239 回放实锤)...
|
76
|
5
|
governance.yml
|
26
|
5
|
0
|
refs/heads/main
|
89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cbcfd67ceef8363033fd3eee23a144e1490114f9","after":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/cbcfd67ceef8363033fd3eee23a144e1490114f9...89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","commits":[{"id":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","message":"fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级打穿默认 5s,两侧间歇红(33299722229 由 C239 回放实锤)\n\n- acceptance.spec.ts 1686/1690:跨视图重挂载 + Actor 状态到达的断言补显式 timeout,与 1656/1663/1668 同类先例同口径,业务断言零放宽\n- 本地全量 check:ui 双侧 31/31、共 62 次绿(报告随提交);flaky 判定教训(两个样本才归档)入经验库\n- CLAUDE.md/经验库:C240 登记;C232 快照锚点刷新至 cbcfd67\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","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-30T01:16:40-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/governance-experience.md","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json"]}],"total_commits":0,"head_commit":{"id":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","message":"fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级打穿默认 5s,两侧间歇红(33299722229 由 C239 回放实锤)\n\n- acceptance.spec.ts 1686/1690:跨视图重挂载 + Actor 状态到达的断言补显式 timeout,与 1656/1663/1668 同类先例同口径,业务断言零放宽\n- 本地全量 check:ui 双侧 31/31、共 62 次绿(报告随提交);flaky 判定教训(两个样本才归档)入经验库\n- CLAUDE.md/经验库:C240 登记;C232 快照锚点刷新至 cbcfd67\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","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-30T01:16:40-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","docs/governance-experience.md","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.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":77890,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T15:39: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
|
60
|
1788077806
|
1788079024
|
0
|
1788077806
|
1788079024
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23568
|
docs(governance): 快照刷新至 344b00b——run 33298480195 1 docs(governance): 快照刷新至 344b00b——run 33298480195 15 job 全绿,C238 远端复验完成,33296922738 单次 UI 红按 C239 判责归档...
|
76
|
5
|
governance.yml
|
25
|
5
|
0
|
refs/heads/main
|
cbcfd67ceef8363033fd3eee23a144e1490114f9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"344b00b3fd60c3495ae152f6a4c9576231880fb6","after":"cbcfd67ceef8363033fd3eee23a144e1490114f9","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/344b00b3fd60c3495ae152f6a4c9576231880fb6...cbcfd67ceef8363033fd3eee23a144e1490114f9","commits":[{"id":"cbcfd67ceef8363033fd3eee23a144e1490114f9","message":"docs(governance): 快照刷新至 344b00b——run 33298480195 15 job 全绿,C238 远端复验完成,33296922738 单次 UI 红按 C239 判责归档\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/cbcfd67ceef8363033fd3eee23a144e1490114f9","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-30T00:39:14-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md"]}],"total_commits":0,"head_commit":{"id":"cbcfd67ceef8363033fd3eee23a144e1490114f9","message":"docs(governance): 快照刷新至 344b00b——run 33298480195 15 job 全绿,C238 远端复验完成,33296922738 单次 UI 红按 C239 判责归档\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/cbcfd67ceef8363033fd3eee23a144e1490114f9","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-30T00:39:14-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":77602,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T15:07:47+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
60
|
1788075564
|
1788076856
|
0
|
1788075562
|
1788076856
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23566
|
fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Play fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Playwright 证据写 stdout,run 33296922738 的 CI 红只剩裸 ✗ 不可判责...
|
76
|
5
|
governance.yml
|
24
|
5
|
0
|
refs/heads/main
|
344b00b3fd60c3495ae152f6a4c9576231880fb6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"52493ec7434e28b4500178ec95b15522ae223ab6","after":"344b00b3fd60c3495ae152f6a4c9576231880fb6","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/52493ec7434e28b4500178ec95b15522ae223ab6...344b00b3fd60c3495ae152f6a4c9576231880fb6","commits":[{"id":"344b00b3fd60c3495ae152f6a4c9576231880fb6","message":"fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Playwright 证据写 stdout,run 33296922738 的 CI 红只剩裸 ✗ 不可判责\n\n- scripts/check-ui-acceptance.mjs:失败回放 stderr/stdout 双路、统一 C133 同款脱敏;占用端口负向驱动失败循环验证\n- 判责链:本地同锁文件(Playwright 1.62.1)NestJS 单侧 31/31 绿、735076e 以来 web/e2e 源码零变化;红因悬置,待本轮 CI 携带完整回放判责\n- CLAUDE.md/经验库:C239 登记;C232 快照锚点刷新至 52493ec\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/344b00b3fd60c3495ae152f6a4c9576231880fb6","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-30T00:07:41-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"344b00b3fd60c3495ae152f6a4c9576231880fb6","message":"fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Playwright 证据写 stdout,run 33296922738 的 CI 红只剩裸 ✗ 不可判责\n\n- scripts/check-ui-acceptance.mjs:失败回放 stderr/stdout 双路、统一 C133 同款脱敏;占用端口负向驱动失败循环验证\n- 判责链:本地同锁文件(Playwright 1.62.1)NestJS 单侧 31/31 绿、735076e 以来 web/e2e 源码零变化;红因悬置,待本轮 CI 携带完整回放判责\n- CLAUDE.md/经验库:C239 登记;C232 快照锚点刷新至 52493ec\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/344b00b3fd60c3495ae152f6a4c9576231880fb6","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-30T00:07:41-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","scripts/check-ui-acceptance.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":77301,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T14:27: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
|
32
|
1788073667
|
1788073758
|
0
|
1788073667
|
1788073759
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23565
|
fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版 fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版本——b664b43 的版本策展只回退 apps/web,Host 留在 next16/tailwind4 令 web-production-build 红(run 33295243158)...
|
76
|
5
|
governance.yml
|
23
|
5
|
0
|
refs/heads/main
|
52493ec7434e28b4500178ec95b15522ae223ab6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","after":"52493ec7434e28b4500178ec95b15522ae223ab6","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/b664b431a778fdbbe13f215b51e5c6a00dd3e8a3...52493ec7434e28b4500178ec95b15522ae223ab6","commits":[{"id":"52493ec7434e28b4500178ec95b15522ae223ab6","message":"fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版本——b664b43 的版本策展只回退 apps/web,Host 留在 next16/tailwind4 令 web-production-build 红(run 33295243158)\n\n- products/juhai.hr/host/web:next 15.5.24 / tailwindcss ^3.4.17 / postcss 8.5.23 / autoprefixer ^10.4.20 逐字对齐 apps/web(Host 的 next.config/postcss.config/globals.css 全部 re-export apps/web 单源),本地 runner 同命令红→绿复现\n- pnpm-lock.yaml:重建 Host importer,消除 tailwind4/next16 残留与 b664b43 遗留的 postcss 清单/锁失同步\n- .github/dependabot.yml:next/tailwindcss 忽略 semver-major——共享构建链单源的 major 迁移必须显式立项\n- CLAUDE.md/经验库:C238 登记;C232 快照锚点刷新至 b664b43\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/52493ec7434e28b4500178ec95b15522ae223ab6","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-29T23:26:51-07:00","added":[],"removed":[],"modified":[".github/dependabot.yml","CLAUDE.md","docs/governance-experience.md","pnpm-lock.yaml","products/juhai.hr/host/web/package.json"]}],"total_commits":0,"head_commit":{"id":"52493ec7434e28b4500178ec95b15522ae223ab6","message":"fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版本——b664b43 的版本策展只回退 apps/web,Host 留在 next16/tailwind4 令 web-production-build 红(run 33295243158)\n\n- products/juhai.hr/host/web:next 15.5.24 / tailwindcss ^3.4.17 / postcss 8.5.23 / autoprefixer ^10.4.20 逐字对齐 apps/web(Host 的 next.config/postcss.config/globals.css 全部 re-export apps/web 单源),本地 runner 同命令红→绿复现\n- pnpm-lock.yaml:重建 Host importer,消除 tailwind4/next16 残留与 b664b43 遗留的 postcss 清单/锁失同步\n- .github/dependabot.yml:next/tailwindcss 忽略 semver-major——共享构建链单源的 major 迁移必须显式立项\n- CLAUDE.md/经验库:C238 登记;C232 快照锚点刷新至 b664b43\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/52493ec7434e28b4500178ec95b15522ae223ab6","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-29T23:26:51-07:00","added":[],"removed":[],"modified":[".github/dependabot.yml","CLAUDE.md","docs/governance-experience.md","pnpm-lock.yaml","products/juhai.hr/host/web/package.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":76888,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T13:41: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
|
60
|
1788071235
|
1788072481
|
0
|
1788071233
|
1788072481
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23564
|
chore: finalize merged branch governance evidence
|
76
|
5
|
governance.yml
|
22
|
5
|
0
|
refs/heads/main
|
b664b431a778fdbbe13f215b51e5c6a00dd3e8a3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"735076e8aae29d8fcd1407bf9e49da69c2b9e61c","after":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/735076e8aae29d8fcd1407bf9e49da69c2b9e61c...b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","commits":[{"id":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","message":"chore: finalize merged branch governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","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-29T22:40:58-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-nestjs/package.json","apps/web/package.json","packages/config/package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"a3b474fa8fdc33eec023c604a3e1f996956874f4","message":"merge: update production dependencies\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a3b474fa8fdc33eec023c604a3e1f996956874f4","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-29T22:05:56-07:00","added":[],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-nestjs/package.json","apps/web/package.json","package.json","packages/config/package.json","packages/contracts/package.json","packages/observability/package.json","packages/product-runtime/package.json","packages/skill-runtime/package.json","packages/tool-runtime/package.json","pnpm-lock.yaml","products/juhai.hr/host/web/package.json"]},{"id":"60aaa759c4baf87a7e7c43dd667499450ab74e85","message":"merge: update development dependencies\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/60aaa759c4baf87a7e7c43dd667499450ab74e85","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-29T21:59:36-07:00","added":[],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-nestjs/package.json","apps/web/package.json","package.json","packages/contracts/package.json","packages/observability/package.json","packages/product-runtime/package.json","packages/skill-runtime/package.json","packages/tool-runtime/package.json","pnpm-lock.yaml","products/juhai.hr/host/web/package.json"]},{"id":"efb160ad2a49b454f110d99940287a31e0a1ea0b","message":"merge: update actions setup-node\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/efb160ad2a49b454f110d99940287a31e0a1ea0b","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-29T21:59:22-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml"]},{"id":"714f2841d3d14119f0043e3ca666e934a55a6a54","message":"merge: update actions checkout\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/714f2841d3d14119f0043e3ca666e934a55a6a54","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-29T21:59:22-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml"]}],"total_commits":0,"head_commit":{"id":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","message":"chore: finalize merged branch governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","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-29T22:40:58-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-nestjs/package.json","apps/web/package.json","packages/config/package.json","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":76426,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T12:34:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788068478
|
1788068569
|
0
|
1788068477
|
1788068570
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23561
|
docs(governance): 快照锚点刷新至 a7f6b94——C232 闸的收尾纪律:每轮推 docs(governance): 快照锚点刷新至 a7f6b94——C232 闸的收尾纪律:每轮推送以锚点刷新收尾...
|
76
|
5
|
governance.yml
|
21
|
5
|
0
|
refs/heads/main
|
735076e8aae29d8fcd1407bf9e49da69c2b9e61c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","after":"735076e8aae29d8fcd1407bf9e49da69c2b9e61c","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4...735076e8aae29d8fcd1407bf9e49da69c2b9e61c","commits":[{"id":"735076e8aae29d8fcd1407bf9e49da69c2b9e61c","message":"docs(governance): 快照锚点刷新至 a7f6b94——C232 闸的收尾纪律:每轮推送以锚点刷新收尾\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/735076e8aae29d8fcd1407bf9e49da69c2b9e61c","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-29T21:34:25-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"735076e8aae29d8fcd1407bf9e49da69c2b9e61c","message":"docs(governance): 快照锚点刷新至 a7f6b94——C232 闸的收尾纪律:每轮推送以锚点刷新收尾\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/735076e8aae29d8fcd1407bf9e49da69c2b9e61c","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-29T21:34:25-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":76332,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T11:48:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
60
|
1788064472
|
1788065693
|
0
|
1788064472
|
1788065693
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23560
|
fix(gates): O26 Loki 定位窗 1800→2400——C237 补丁行使实测距离 fix(gates): O26 Loki 定位窗 1800→2400——C237 补丁行使实测距离 1944 超窗...
|
76
|
5
|
governance.yml
|
20
|
5
|
0
|
refs/heads/main
|
a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","after":"a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b...a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","commits":[{"id":"a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","message":"fix(gates): O26 Loki 定位窗 1800→2400——C237 补丁行使实测距离 1944 超窗\n\nexpectSource 的字符窗把注释/相邻段体量计入,纯定位窗贴上限时合法改动即假红;\n本轮已先精简 C229/C237 注释至单行仍不足,按实测放宽并留维护注。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:48:43-07:00","added":[],"removed":[],"modified":["deploy/production/Dockerfile","reports/operations.latest.json","reports/report-transaction-lock.latest.json","scripts/check-operations.mjs"]},{"id":"31387b8167feac7ae2224ad8f09ed07bf008b8fa","message":"fix(supply-chain): C237 ops-postgres libssl/libcrypto 升级至 3.5.8-r0——CVE-2026-14456 Alpine 侧补丁转红\n\nrun 33289834128:Static + Runtime/UI 首次干净 CI 全绿(C227/C229 远端确认),唯一残红 ops-postgres。\n降权前 root 窗口 apk upgrade(C171 同款);本地 Trivy 0.74.0 复扫 0H/0C + check:postgres-image 4 类验收全过。\n快照锚点刷新至 3c4c9ae。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/31387b8167feac7ae2224ad8f09ed07bf008b8fa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:44:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","deploy/production/Dockerfile","docs/governance-experience.md","reports/operations.latest.json","reports/postgres-image.latest.json","reports/report-transaction-lock.latest.json"]}],"total_commits":0,"head_commit":{"id":"a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","message":"fix(gates): O26 Loki 定位窗 1800→2400——C237 补丁行使实测距离 1944 超窗\n\nexpectSource 的字符窗把注释/相邻段体量计入,纯定位窗贴上限时合法改动即假红;\n本轮已先精简 C229/C237 注释至单行仍不足,按实测放宽并留维护注。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/a7f6b94bcffdf6cb428fe04eabd6def24f06d7d4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:48:43-07:00","added":[],"removed":[],"modified":["deploy/production/Dockerfile","reports/operations.latest.json","reports/report-transaction-lock.latest.json","scripts/check-operations.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":76001,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T11:15: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
|
32
|
1788061728
|
1788061826
|
0
|
1788061728
|
1788061827
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23555
|
docs(governance): 快照锚点刷新至 d433548——两远端已由该提交对齐
|
76
|
5
|
governance.yml
|
19
|
5
|
0
|
refs/heads/main
|
3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d433548ec7561644062b04334161019919ea233d","after":"3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/d433548ec7561644062b04334161019919ea233d...3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","commits":[{"id":"3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","message":"docs(governance): 快照锚点刷新至 d433548——两远端已由该提交对齐\n\ngit push 实录:gitea fcbd389..d433548、github(origin) 32f574b..d433548,均 fast-forward。\n远端 CI 结果按 Actions headSha 定位,不写入本文件(C19 结构自指)。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:15:05-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","message":"docs(governance): 快照锚点刷新至 d433548——两远端已由该提交对齐\n\ngit push 实录:gitea fcbd389..d433548、github(origin) 32f574b..d433548,均 fast-forward。\n远端 CI 结果按 Actions headSha 定位,不写入本文件(C19 结构自指)。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3c4c9aeef2d655c577e467bb2cbb9dd76a2e211b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:15:05-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":75907,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T11:14: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
|
60
|
1788059713
|
1788060712
|
0
|
1788059711
|
1788060712
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23554
|
fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C2 fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿...
|
76
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
d433548ec7561644062b04334161019919ea233d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","after":"d433548ec7561644062b04334161019919ea233d","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7...d433548ec7561644062b04334161019919ea233d","commits":[{"id":"d433548ec7561644062b04334161019919ea233d","message":"fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿\n\nC227 产品验收 runner 缺 dist(run 33164556968 判责):两后端 build 前移 + A12 前置违规(负向实红)+ standalone 自含构建/:run 拆分\nC229 libssl CVE-2026-14456:RUNTIME_IMAGE 升级至含 3.5.7-1~deb13u2 的 distroless digest(升级前实查基座 dpkg)\nC230 网关限流塌缩:real_ip 信任链(默认回环)+ limit_req/conn_status 429 + O4 六断言\nC231 docs-truth 批间时序:--assert-only 复验接入 runtime 编排与 UI 聚合收尾\nC232 快照机器锚点:祖先关系 + 实测落后数离线核对(±1 自指窗,负向实红)\nC233 check:ci-gate:G14 现状机器化(当前诚实红 protected:false)+ CODEOWNERS\nC234 验收源卫生:mobile-ios 豁免绑 darwin、agedAcceptanceReports 14 天时效、untrack deploy-probe/QA v2–v10/pyc\nC236 juhai.hr 浏览器用例冻结日期时间炸弹:16 处日期改 UTC 动态锚定(两连红→trace 判责 409 RANGE_INVALID→修复后 31/31×2)\nC235 重号修正(原第二个 C216);O3/O32 断言按 C180 合并语义收敛(401=logoutSession+可见原因)\nG24 登记:无界列表清单/应用层租户配额/CLAUDE.md 瘦身/凭据轮换待办;D-3 留存草案与 target-env 13 条签收清单落盘\n\n本地证据(dirty 工作区,绑定各报告 provenance):pnpm check 24/24;check:runtime 683 tests/矩阵 204/204;check:ui 31/31×2 共 62;check:mobile 26 文件+iOS 自测 5/5\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d433548ec7561644062b04334161019919ea233d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:14:39-07:00","added":[".github/CODEOWNERS","deploy/production/target-env-signoff.json","docs/standards/data-retention.md","reports/ci-gate.latest.json","scripts/check-ci-gate.mjs"],"removed":["tmp/deploy-probe-nestjs/.env.example","tmp/deploy-probe-nestjs/docker-compose.yml","tmp/deploy-probe-nestjs/nest-cli.json","tmp/deploy-probe-nestjs/package.json","tmp/deploy-probe-nestjs/prisma/migrations/20260818000000_init/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260819000000_outbox_replay_cursor/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260820000000_work_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260821000000_learning_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260822000000_trigger_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260823000000_outcome_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260824000000_attribution_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/migration_lock.toml","tmp/deploy-probe-nestjs/prisma/schema.prisma","tmp/deploy-probe-nestjs/prisma/seed.ts","tmp/deploy-probe-nestjs/scripts/behavior-parity-snapshot.mjs","tmp/deploy-probe-nestjs/src/actors/actor-events.service.ts","tmp/deploy-probe-nestjs/src/actors/actors.controller.ts","tmp/deploy-probe-nestjs/src/actors/actors.module.ts","tmp/deploy-probe-nestjs/src/actors/actors.service.ts","tmp/deploy-probe-nestjs/src/app.module.ts","tmp/deploy-probe-nestjs/src/common/api-http-exception.filter.ts","tmp/deploy-probe-nestjs/src/common/envelope.ts","tmp/deploy-probe-nestjs/src/common/tenant.decorator.ts","tmp/deploy-probe-nestjs/src/common/zod-validation.pipe.ts","tmp/deploy-probe-nestjs/src/create-app.ts","tmp/deploy-probe-nestjs/src/events/connection-registry.service.ts","tmp/deploy-probe-nestjs/src/events/event-bus.service.ts","tmp/deploy-probe-nestjs/src/events/events.gateway.ts","tmp/deploy-probe-nestjs/src/events/events.module.ts","tmp/deploy-probe-nestjs/src/events/fanout.service.ts","tmp/deploy-probe-nestjs/src/events/outbox-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/events/realtime-stats.controller.ts","tmp/deploy-probe-nestjs/src/events/replay.service.ts","tmp/deploy-probe-nestjs/src/health/health.controller.ts","tmp/deploy-probe-nestjs/src/health/health.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.service.ts","tmp/deploy-probe-nestjs/src/main.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.controller.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.module.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.service.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.module.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.service.ts","tmp/deploy-probe-nestjs/src/queue/job-intent-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/queue/jobs.controller.ts","tmp/deploy-probe-nestjs/src/queue/jobs.processor.ts","tmp/deploy-probe-nestjs/src/queue/queue.module.ts","tmp/deploy-probe-nestjs/src/queue/queue.types.ts","tmp/deploy-probe-nestjs/src/redis/redis.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.controller.ts","tmp/deploy-probe-nestjs/src/roles/roles.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.service.ts","tmp/deploy-probe-nestjs/src/sse/sse.controller.ts","tmp/deploy-probe-nestjs/src/sse/sse.module.ts","tmp/deploy-probe-nestjs/src/statemachine/index.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.engine.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.types.ts","tmp/deploy-probe-nestjs/src/triggers/trigger-engine.service.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.controller.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.module.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.service.ts","tmp/deploy-probe-nestjs/src/users/users.controller.ts","tmp/deploy-probe-nestjs/src/users/users.module.ts","tmp/deploy-probe-nestjs/src/users/users.service.ts","tmp/deploy-probe-nestjs/src/work/grants.service.ts","tmp/deploy-probe-nestjs/src/work/projects.controller.ts","tmp/deploy-probe-nestjs/src/work/projects.service.ts","tmp/deploy-probe-nestjs/src/work/runtimes.service.ts","tmp/deploy-probe-nestjs/src/work/skills.controller.ts","tmp/deploy-probe-nestjs/src/work/skills.service.ts","tmp/deploy-probe-nestjs/src/work/task-events.service.ts","tmp/deploy-probe-nestjs/src/work/tasks.controller.ts","tmp/deploy-probe-nestjs/src/work/tasks.service.ts","tmp/deploy-probe-nestjs/src/work/work.module.ts","tmp/deploy-probe-nestjs/test/actor-events.integration.test.ts","tmp/deploy-probe-nestjs/test/auth.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.jwks.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.roles.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.rs256.acceptance.test.ts","tmp/deploy-probe-nestjs/test/dead-letters.integration.test.ts","tmp/deploy-probe-nestjs/test/http.acceptance.test.ts","tmp/deploy-probe-nestjs/test/job-intent.dispatcher.test.ts","tmp/deploy-probe-nestjs/test/learning.concurrency.test.ts","tmp/deploy-probe-nestjs/test/llm.acceptance.test.ts","tmp/deploy-probe-nestjs/test/llm.anthropic.acceptance.test.ts","tmp/deploy-probe-nestjs/test/outbox.concurrency.test.ts","tmp/deploy-probe-nestjs/test/outbox.deadletter.test.ts","tmp/deploy-probe-nestjs/test/outcomes.integration.test.ts","tmp/deploy-probe-nestjs/test/realtime.command.test.ts","tmp/deploy-probe-nestjs/test/realtime.replay.test.ts","tmp/deploy-probe-nestjs/test/realtime.stats.test.ts","tmp/deploy-probe-nestjs/test/realtime.subscription.test.ts","tmp/deploy-probe-nestjs/test/realtime.tenant.test.ts","tmp/deploy-probe-nestjs/test/task-events.integration.test.ts","tmp/deploy-probe-nestjs/test/triggers.integration.test.ts","tmp/deploy-probe-nestjs/test/work.integration.test.ts","tmp/deploy-probe-nestjs/tsconfig.build.json","tmp/deploy-probe-nestjs/tsconfig.json","tmp/deploy-probe-nestjs/vitest.config.ts","tmp/pdfs/task-loop-qa-v10/page-01.png","tmp/pdfs/task-loop-qa-v10/page-02.png","tmp/pdfs/task-loop-qa-v10/page-03.png","tmp/pdfs/task-loop-qa-v10/page-04.png","tmp/pdfs/task-loop-qa-v10/page-05.png","tmp/pdfs/task-loop-qa-v10/page-06.png","tmp/pdfs/task-loop-qa-v10/page-07.png","tmp/pdfs/task-loop-qa-v10/page-08.png","tmp/pdfs/task-loop-qa-v10/page-09.png","tmp/pdfs/task-loop-qa-v10/page-10.png","tmp/pdfs/task-loop-qa-v10/page-11.png","tmp/pdfs/task-loop-qa-v10/page-12.png","tmp/pdfs/task-loop-qa-v10/page-13.png","tmp/pdfs/task-loop-qa-v10/page-14.png","tmp/pdfs/task-loop-qa-v10/page-15.png","tmp/pdfs/task-loop-qa-v2/page-01.png","tmp/pdfs/task-loop-qa-v2/page-02.png","tmp/pdfs/task-loop-qa-v2/page-03.png","tmp/pdfs/task-loop-qa-v2/page-04.png","tmp/pdfs/task-loop-qa-v2/page-05.png","tmp/pdfs/task-loop-qa-v2/page-06.png","tmp/pdfs/task-loop-qa-v2/page-07.png","tmp/pdfs/task-loop-qa-v2/page-08.png","tmp/pdfs/task-loop-qa-v2/page-09.png","tmp/pdfs/task-loop-qa-v2/page-10.png","tmp/pdfs/task-loop-qa-v2/page-11.png","tmp/pdfs/task-loop-qa-v2/page-12.png","tmp/pdfs/task-loop-qa-v2/page-13.png","tmp/pdfs/task-loop-qa-v2/page-14.png","tmp/pdfs/task-loop-qa-v2/page-15.png","tmp/pdfs/task-loop-qa-v3/contact-sheet.png","tmp/pdfs/task-loop-qa-v3/delivery-01.png","tmp/pdfs/task-loop-qa-v3/delivery-02.png","tmp/pdfs/task-loop-qa-v3/delivery-03.png","tmp/pdfs/task-loop-qa-v3/delivery-04.png","tmp/pdfs/task-loop-qa-v3/delivery-05.png","tmp/pdfs/task-loop-qa-v3/delivery-06.png","tmp/pdfs/task-loop-qa-v3/delivery-07.png","tmp/pdfs/task-loop-qa-v3/delivery-08.png","tmp/pdfs/task-loop-qa-v3/delivery-09.png","tmp/pdfs/task-loop-qa-v3/delivery-10.png","tmp/pdfs/task-loop-qa-v3/delivery-11.png","tmp/pdfs/task-loop-qa-v3/delivery-12.png","tmp/pdfs/task-loop-qa-v3/delivery-13.png","tmp/pdfs/task-loop-qa-v3/delivery-14.png","tmp/pdfs/task-loop-qa-v3/delivery-15.png","tmp/pdfs/task-loop-qa-v3/delivery-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-01.png","tmp/pdfs/task-loop-qa-v3/final-02.png","tmp/pdfs/task-loop-qa-v3/final-03.png","tmp/pdfs/task-loop-qa-v3/final-04.png","tmp/pdfs/task-loop-qa-v3/final-05.png","tmp/pdfs/task-loop-qa-v3/final-06.png","tmp/pdfs/task-loop-qa-v3/final-07.png","tmp/pdfs/task-loop-qa-v3/final-08.png","tmp/pdfs/task-loop-qa-v3/final-09.png","tmp/pdfs/task-loop-qa-v3/final-10.png","tmp/pdfs/task-loop-qa-v3/final-11.png","tmp/pdfs/task-loop-qa-v3/final-12.png","tmp/pdfs/task-loop-qa-v3/final-13.png","tmp/pdfs/task-loop-qa-v3/final-14.png","tmp/pdfs/task-loop-qa-v3/final-15.png","tmp/pdfs/task-loop-qa-v3/final-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-page-13.png","tmp/pdfs/task-loop-qa-v3/page-01.png","tmp/pdfs/task-loop-qa-v3/page-02.png","tmp/pdfs/task-loop-qa-v3/page-03.png","tmp/pdfs/task-loop-qa-v3/page-04.png","tmp/pdfs/task-loop-qa-v3/page-05.png","tmp/pdfs/task-loop-qa-v3/page-06.png","tmp/pdfs/task-loop-qa-v3/page-07.png","tmp/pdfs/task-loop-qa-v3/page-08.png","tmp/pdfs/task-loop-qa-v3/page-09.png","tmp/pdfs/task-loop-qa-v3/page-10.png","tmp/pdfs/task-loop-qa-v3/page-11.png","tmp/pdfs/task-loop-qa-v3/page-12.png","tmp/pdfs/task-loop-qa-v3/page-13.png","tmp/pdfs/task-loop-qa-v3/page-14.png","tmp/pdfs/task-loop-qa-v3/page-15.png","tmp/pdfs/task-loop-qa-v4/contact-sheet.png","tmp/pdfs/task-loop-qa-v4/page-01.png","tmp/pdfs/task-loop-qa-v4/page-02.png","tmp/pdfs/task-loop-qa-v4/page-03.png","tmp/pdfs/task-loop-qa-v4/page-04.png","tmp/pdfs/task-loop-qa-v4/page-05.png","tmp/pdfs/task-loop-qa-v4/page-06.png","tmp/pdfs/task-loop-qa-v4/page-07.png","tmp/pdfs/task-loop-qa-v4/page-08.png","tmp/pdfs/task-loop-qa-v4/page-09.png","tmp/pdfs/task-loop-qa-v4/page-10.png","tmp/pdfs/task-loop-qa-v4/page-11.png","tmp/pdfs/task-loop-qa-v4/page-12.png","tmp/pdfs/task-loop-qa-v4/page-13.png","tmp/pdfs/task-loop-qa-v4/page-14.png","tmp/pdfs/task-loop-qa-v4/page-15.png","tmp/pdfs/task-loop-qa-v5/contact-sheet.png","tmp/pdfs/task-loop-qa-v5/page-01.png","tmp/pdfs/task-loop-qa-v5/page-02.png","tmp/pdfs/task-loop-qa-v5/page-03.png","tmp/pdfs/task-loop-qa-v5/page-04.png","tmp/pdfs/task-loop-qa-v5/page-05.png","tmp/pdfs/task-loop-qa-v5/page-06.png","tmp/pdfs/task-loop-qa-v5/page-07.png","tmp/pdfs/task-loop-qa-v5/page-08.png","tmp/pdfs/task-loop-qa-v5/page-09.png","tmp/pdfs/task-loop-qa-v5/page-10.png","tmp/pdfs/task-loop-qa-v5/page-11.png","tmp/pdfs/task-loop-qa-v5/page-12.png","tmp/pdfs/task-loop-qa-v5/page-13.png","tmp/pdfs/task-loop-qa-v5/page-14.png","tmp/pdfs/task-loop-qa-v5/page-15.png","tmp/pdfs/task-loop-qa-v6/page-01.png","tmp/pdfs/task-loop-qa-v6/page-02.png","tmp/pdfs/task-loop-qa-v6/page-13.png","tmp/pdfs/task-loop-qa-v6/page-14.png","tmp/pdfs/task-loop-qa-v6/page-15.png","tmp/pdfs/task-loop-qa-v7/page-01.png","tmp/pdfs/task-loop-qa-v7/page-02.png","tmp/pdfs/task-loop-qa-v7/page-03.png","tmp/pdfs/task-loop-qa-v7/page-04.png","tmp/pdfs/task-loop-qa-v7/page-05.png","tmp/pdfs/task-loop-qa-v7/page-06.png","tmp/pdfs/task-loop-qa-v7/page-07.png","tmp/pdfs/task-loop-qa-v7/page-08.png","tmp/pdfs/task-loop-qa-v7/page-09.png","tmp/pdfs/task-loop-qa-v7/page-10.png","tmp/pdfs/task-loop-qa-v7/page-11.png","tmp/pdfs/task-loop-qa-v7/page-12.png","tmp/pdfs/task-loop-qa-v7/page-13.png","tmp/pdfs/task-loop-qa-v7/page-14.png","tmp/pdfs/task-loop-qa-v7/page-15.png","tmp/pdfs/task-loop-qa-v8/page-01.png","tmp/pdfs/task-loop-qa-v8/page-02.png","tmp/pdfs/task-loop-qa-v8/page-03.png","tmp/pdfs/task-loop-qa-v8/page-04.png","tmp/pdfs/task-loop-qa-v8/page-05.png","tmp/pdfs/task-loop-qa-v8/page-06.png","tmp/pdfs/task-loop-qa-v8/page-07.png","tmp/pdfs/task-loop-qa-v8/page-08.png","tmp/pdfs/task-loop-qa-v8/page-09.png","tmp/pdfs/task-loop-qa-v8/page-10.png","tmp/pdfs/task-loop-qa-v8/page-11.png","tmp/pdfs/task-loop-qa-v8/page-12.png","tmp/pdfs/task-loop-qa-v8/page-13.png","tmp/pdfs/task-loop-qa-v8/page-14.png","tmp/pdfs/task-loop-qa-v8/page-15.png","tmp/pdfs/task-loop-qa-v9/page-01.png","tmp/pdfs/task-loop-qa-v9/page-02.png","tmp/pdfs/task-loop-qa-v9/page-03.png","tmp/pdfs/task-loop-qa-v9/page-04.png","tmp/pdfs/task-loop-qa-v9/page-05.png","tmp/pdfs/task-loop-qa-v9/page-06.png","tmp/pdfs/task-loop-qa-v9/page-07.png","tmp/pdfs/task-loop-qa-v9/page-08.png","tmp/pdfs/task-loop-qa-v9/page-09.png","tmp/pdfs/task-loop-qa-v9/page-10.png","tmp/pdfs/task-loop-qa-v9/page-11.png","tmp/pdfs/task-loop-qa-v9/page-12.png","tmp/pdfs/task-loop-qa-v9/page-13.png","tmp/pdfs/task-loop-qa-v9/page-14.png","tmp/pdfs/task-loop-qa-v9/page-15.png","tmp/pdfs/task-loop-qa/page-01.png","tmp/pdfs/task-loop-qa/page-02.png","tmp/pdfs/task-loop-qa/page-03.png","tmp/pdfs/task-loop-qa/page-04.png","tmp/pdfs/task-loop-qa/page-05.png","tmp/pdfs/task-loop-qa/page-06.png","tmp/pdfs/task-loop-qa/page-07.png","tmp/pdfs/task-loop-qa/page-08.png","tmp/pdfs/task-loop-qa/page-09.png","tmp/pdfs/task-loop-qa/page-10.png","tmp/pdfs/task-loop-qa/page-11.png","tmp/pdfs/task-loop-qa/page-12.png","tmp/pdfs/task-loop-qa/page-13.png"],"modified":[".gitignore","CLAUDE.md","apps/web/src/lib/api.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","deploy/production/nginx.conf.template","docs/governance-experience.md","docs/operations/production-runbook.md","package.json","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-docs-truth.mjs","scripts/check-operations.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs"]},{"id":"0daede71c4a95f23270c088939ea1492f33d3040","message":"merge: 汇合 GitHub main 治理大波次(32f574b, C177–C219)与本地 OIDC 修复/凭据止血线\n\n两远端自 4a222fb 分叉:GitHub 侧携带 juhai.hr HR 产品与 C177–C219 治理波次\n(供应链镜像重建/Alloy 移除/会话跨tab登出/WS-SSE exp 强断/三态查询全面收口),\n本地侧携带 cf9f65d/fcbd389 生产 OIDC 修复与 1b4bbef 凭据止血。\n冲突裁决:reports 取 GitHub 侧(阶段2全量重生成);api.ts 401 合并为\nlogoutSession()+友好错误;compose 取 GitHub 侧(Alloy 已由 C179 移除);\n.gitignore 再补 .env.production.* 派生副本与 tmp/ops-config/ 整目录。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/0daede71c4a95f23270c088939ea1492f33d3040","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T18:59:22-07:00","added":["apps/api-fastify/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-fastify/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-fastify/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-fastify/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-nestjs/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-nestjs/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/web/e2e/juhai-hr.acceptance.spec.ts","apps/web/src/components/workbench/OutcomeCenter.tsx","apps/web/src/components/workbench/ProjectWorkGraph.tsx","apps/web/src/components/workbench/RuntimeContextShell.tsx","apps/web/src/features/actors/components/ActorProfileEditor.tsx","apps/web/src/features/actors/lib/actor-profile-copy.ts","apps/web/src/features/auth/lib/session-sync.ts","apps/web/src/features/projects/api/project-api.ts","apps/web/src/features/projects/hooks/use-projects.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/features/triggers/hooks/use-triggers.ts","deploy/production/otel-collector-builder.yml","docs/domain/juhai-hr-blueprint.md","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/host/fastify.mjs","products/juhai.hr/host/nestjs.mjs","products/juhai.hr/host/server-runtime.mjs","products/juhai.hr/host/web/app/api/auth/config/route.ts","products/juhai.hr/host/web/app/api/auth/exchange/route.ts","products/juhai.hr/host/web/app/layout.tsx","products/juhai.hr/host/web/app/page.tsx","products/juhai.hr/host/web/components/InstalledJuhaiHrWorkspace.tsx","products/juhai.hr/host/web/e2e-results.json","products/juhai.hr/host/web/features/hr/api/hr-api.ts","products/juhai.hr/host/web/features/hr/components/HrDeliveryAuditWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrMasterDataWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelChangeWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelGovernanceWorkbench.tsx","products/juhai.hr/host/web/features/hr/hooks/use-hr.ts","products/juhai.hr/host/web/next.config.ts","products/juhai.hr/host/web/package.json","products/juhai.hr/host/web/postcss.config.js","products/juhai.hr/host/web/public","products/juhai.hr/host/web/tailwind.config.ts","products/juhai.hr/host/web/tsconfig.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/loki-image.latest.json","reports/otel-collector-image.latest.json","reports/tempo-image.latest.json","scripts/check-loki-image.mjs","scripts/check-otel-collector-image.mjs","scripts/check-tempo-image.mjs"],"removed":["deploy/production/alloy.alloy"],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/components/workbench/SkillPicker.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/attachments/components/AttachmentGovernancePanel.tsx","apps/web/src/features/attachments/hooks/use-attachments.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/features/conversations/components/ConversationGovernancePanel.tsx","apps/web/src/features/conversations/hooks/use-conversations.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/permissions/components/PermissionAssignmentsPanel.tsx","apps/web/src/features/permissions/hooks/use-permissions.ts","apps/web/src/features/rag/components/RagGovernancePanel.tsx","apps/web/src/features/rag/hooks/use-rag.ts","apps/web/src/features/skills/components/SkillManagementPanel.tsx","apps/web/src/features/skills/hooks/use-skills.ts","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","apps/web/src/features/tools/components/ToolPicker.tsx","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","apps/web/src/store/useAuthStore.ts","deploy/production/Dockerfile","deploy/production/access-audit-alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/otel-collector.yml","deploy/production/prometheus.yml","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/outcome-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-vulnerabilities.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-operations.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"1b4bbef5e9b640e9b2a99df54a246ecf7fc7c6cd","message":"fix(security): untrack 已入库运维凭据并将 O9 升级为全索引 secret 反扫\n\nC177 阶段0止血:tmp/ops-config/.env.production 与 metrics-token.txt 自 4f2e17b 起\n被 git 跟踪并已推送——C159 只补了 gitignore 模式(对已跟踪文件无效),O9 只断言\n字面路径 deploy/production/.env.production,形成假生效门禁。本提交:\n- git rm --cached 两份凭据文件与两个 __pycache__ 字节码\n- .gitignore 补 metrics-token*.txt / __pycache__/ / *.pyc\n- O9 改为双层反扫:gitignore 命中仍在索引即红 + secret 形状兜底(*.example 豁免)\n 负向测试两腿均已实红(metrics-token 双命中、probe-token 形状腿单命中)后恢复绿\n- CLAUDE.md 增补「提交上传=双推 Gitea+GitHub」会话术语约定(用户拍板)\n凭据轮换候选已生成于 tmp/ops-config/*.rotated-20260829*(不入库),由用户执行替换。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/1b4bbef5e9b640e9b2a99df54a246ecf7fc7c6cd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T18:51:33-07:00","added":[],"removed":["tmp/ops-config/.env.production","tmp/ops-config/metrics-token.txt","tmp/pdfs/__pycache__/generate_task_loop_pdf.cpython-312.pyc","work/product_manual/__pycache__/build_product_manual.cpython-312.pyc"],"modified":[".gitignore","CLAUDE.md","reports/operations.latest.json","scripts/check-operations.mjs"]},{"id":"32f574b8462910b04586d4d9fdc2f7ce277d9c1a","message":"feat(platform): integrate governed HR product and runtime hardening\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/32f574b8462910b04586d4d9fdc2f7ce277d9c1a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:45:04-07:00","added":["apps/api-fastify/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-fastify/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-fastify/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-fastify/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260923000000_trigger_definition_version/migration.sql","apps/api-nestjs/prisma/migrations/20260924000000_outcome_remediation/migration.sql","apps/api-nestjs/prisma/migrations/20260925000000_outcome_remediation_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260926000000_outcome_remediation_force_rls/migration.sql","apps/web/e2e/juhai-hr.acceptance.spec.ts","apps/web/src/components/workbench/OutcomeCenter.tsx","apps/web/src/components/workbench/ProjectWorkGraph.tsx","apps/web/src/components/workbench/RuntimeContextShell.tsx","apps/web/src/features/actors/components/ActorProfileEditor.tsx","apps/web/src/features/actors/lib/actor-profile-copy.ts","apps/web/src/features/auth/lib/session-sync.ts","apps/web/src/features/projects/api/project-api.ts","apps/web/src/features/projects/hooks/use-projects.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/features/triggers/hooks/use-triggers.ts","deploy/production/otel-collector-builder.yml","docs/domain/juhai-hr-blueprint.md","products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","products/juhai.hr/ddl-authority.json","products/juhai.hr/distribution.json","products/juhai.hr/host/fastify.mjs","products/juhai.hr/host/nestjs.mjs","products/juhai.hr/host/server-runtime.mjs","products/juhai.hr/host/web/app/api/auth/config/route.ts","products/juhai.hr/host/web/app/api/auth/exchange/route.ts","products/juhai.hr/host/web/app/layout.tsx","products/juhai.hr/host/web/app/page.tsx","products/juhai.hr/host/web/components/InstalledJuhaiHrWorkspace.tsx","products/juhai.hr/host/web/e2e-results.json","products/juhai.hr/host/web/features/hr/api/hr-api.ts","products/juhai.hr/host/web/features/hr/components/HrDeliveryAuditWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrMasterDataWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelChangeWorkbench.tsx","products/juhai.hr/host/web/features/hr/components/HrPersonnelGovernanceWorkbench.tsx","products/juhai.hr/host/web/features/hr/hooks/use-hr.ts","products/juhai.hr/host/web/next.config.ts","products/juhai.hr/host/web/package.json","products/juhai.hr/host/web/postcss.config.js","products/juhai.hr/host/web/public","products/juhai.hr/host/web/tailwind.config.ts","products/juhai.hr/host/web/tsconfig.json","products/juhai.hr/manifest.json","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","products/juhai.hr/src/delivery-audit-service.mjs","products/juhai.hr/src/fastify-adapter.d.mts","products/juhai.hr/src/fastify-adapter.mjs","products/juhai.hr/src/http-errors.mjs","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/nestjs-adapter.d.mts","products/juhai.hr/src/nestjs-adapter.mjs","products/juhai.hr/src/os-composition.d.mts","products/juhai.hr/src/os-composition.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-service.mjs","products/juhai.hr/src/personnel-governance-service.mjs","products/juhai.hr/src/runtime-contracts.mjs","products/juhai.hr/src/web-workspace.d.mts","products/juhai.hr/src/web-workspace.mjs","reports/loki-image.latest.json","reports/otel-collector-image.latest.json","reports/tempo-image.latest.json","scripts/check-loki-image.mjs","scripts/check-otel-collector-image.mjs","scripts/check-tempo-image.mjs"],"removed":["deploy/production/alloy.alloy"],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/components/workbench/SkillPicker.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/ToastHost.tsx","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/attachments/components/AttachmentGovernancePanel.tsx","apps/web/src/features/attachments/hooks/use-attachments.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/features/conversations/components/ConversationGovernancePanel.tsx","apps/web/src/features/conversations/hooks/use-conversations.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/permissions/components/PermissionAssignmentsPanel.tsx","apps/web/src/features/permissions/hooks/use-permissions.ts","apps/web/src/features/rag/components/RagGovernancePanel.tsx","apps/web/src/features/rag/hooks/use-rag.ts","apps/web/src/features/skills/components/SkillManagementPanel.tsx","apps/web/src/features/skills/hooks/use-skills.ts","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","apps/web/src/features/tools/components/ToolPicker.tsx","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","apps/web/src/store/useAuthStore.ts","deploy/production/Dockerfile","deploy/production/access-audit-alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/otel-collector.yml","deploy/production/prometheus.yml","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/outcome-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-vulnerabilities.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-operations.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"d433548ec7561644062b04334161019919ea233d","message":"fix(governance)+fix(ci)+feat(gates): 治理体检轮 C227–C236 收口——CI 修红、门禁增强与全量三级门禁本地绿\n\nC227 产品验收 runner 缺 dist(run 33164556968 判责):两后端 build 前移 + A12 前置违规(负向实红)+ standalone 自含构建/:run 拆分\nC229 libssl CVE-2026-14456:RUNTIME_IMAGE 升级至含 3.5.7-1~deb13u2 的 distroless digest(升级前实查基座 dpkg)\nC230 网关限流塌缩:real_ip 信任链(默认回环)+ limit_req/conn_status 429 + O4 六断言\nC231 docs-truth 批间时序:--assert-only 复验接入 runtime 编排与 UI 聚合收尾\nC232 快照机器锚点:祖先关系 + 实测落后数离线核对(±1 自指窗,负向实红)\nC233 check:ci-gate:G14 现状机器化(当前诚实红 protected:false)+ CODEOWNERS\nC234 验收源卫生:mobile-ios 豁免绑 darwin、agedAcceptanceReports 14 天时效、untrack deploy-probe/QA v2–v10/pyc\nC236 juhai.hr 浏览器用例冻结日期时间炸弹:16 处日期改 UTC 动态锚定(两连红→trace 判责 409 RANGE_INVALID→修复后 31/31×2)\nC235 重号修正(原第二个 C216);O3/O32 断言按 C180 合并语义收敛(401=logoutSession+可见原因)\nG24 登记:无界列表清单/应用层租户配额/CLAUDE.md 瘦身/凭据轮换待办;D-3 留存草案与 target-env 13 条签收清单落盘\n\n本地证据(dirty 工作区,绑定各报告 provenance):pnpm check 24/24;check:runtime 683 tests/矩阵 204/204;check:ui 31/31×2 共 62;check:mobile 26 文件+iOS 自测 5/5\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d433548ec7561644062b04334161019919ea233d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:14:39-07:00","added":[".github/CODEOWNERS","deploy/production/target-env-signoff.json","docs/standards/data-retention.md","reports/ci-gate.latest.json","scripts/check-ci-gate.mjs"],"removed":["tmp/deploy-probe-nestjs/.env.example","tmp/deploy-probe-nestjs/docker-compose.yml","tmp/deploy-probe-nestjs/nest-cli.json","tmp/deploy-probe-nestjs/package.json","tmp/deploy-probe-nestjs/prisma/migrations/20260818000000_init/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260819000000_outbox_replay_cursor/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260820000000_work_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260821000000_learning_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260822000000_trigger_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260823000000_outcome_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260824000000_attribution_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/migration_lock.toml","tmp/deploy-probe-nestjs/prisma/schema.prisma","tmp/deploy-probe-nestjs/prisma/seed.ts","tmp/deploy-probe-nestjs/scripts/behavior-parity-snapshot.mjs","tmp/deploy-probe-nestjs/src/actors/actor-events.service.ts","tmp/deploy-probe-nestjs/src/actors/actors.controller.ts","tmp/deploy-probe-nestjs/src/actors/actors.module.ts","tmp/deploy-probe-nestjs/src/actors/actors.service.ts","tmp/deploy-probe-nestjs/src/app.module.ts","tmp/deploy-probe-nestjs/src/common/api-http-exception.filter.ts","tmp/deploy-probe-nestjs/src/common/envelope.ts","tmp/deploy-probe-nestjs/src/common/tenant.decorator.ts","tmp/deploy-probe-nestjs/src/common/zod-validation.pipe.ts","tmp/deploy-probe-nestjs/src/create-app.ts","tmp/deploy-probe-nestjs/src/events/connection-registry.service.ts","tmp/deploy-probe-nestjs/src/events/event-bus.service.ts","tmp/deploy-probe-nestjs/src/events/events.gateway.ts","tmp/deploy-probe-nestjs/src/events/events.module.ts","tmp/deploy-probe-nestjs/src/events/fanout.service.ts","tmp/deploy-probe-nestjs/src/events/outbox-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/events/realtime-stats.controller.ts","tmp/deploy-probe-nestjs/src/events/replay.service.ts","tmp/deploy-probe-nestjs/src/health/health.controller.ts","tmp/deploy-probe-nestjs/src/health/health.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.service.ts","tmp/deploy-probe-nestjs/src/main.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.controller.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.module.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.service.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.module.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.service.ts","tmp/deploy-probe-nestjs/src/queue/job-intent-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/queue/jobs.controller.ts","tmp/deploy-probe-nestjs/src/queue/jobs.processor.ts","tmp/deploy-probe-nestjs/src/queue/queue.module.ts","tmp/deploy-probe-nestjs/src/queue/queue.types.ts","tmp/deploy-probe-nestjs/src/redis/redis.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.controller.ts","tmp/deploy-probe-nestjs/src/roles/roles.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.service.ts","tmp/deploy-probe-nestjs/src/sse/sse.controller.ts","tmp/deploy-probe-nestjs/src/sse/sse.module.ts","tmp/deploy-probe-nestjs/src/statemachine/index.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.engine.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.types.ts","tmp/deploy-probe-nestjs/src/triggers/trigger-engine.service.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.controller.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.module.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.service.ts","tmp/deploy-probe-nestjs/src/users/users.controller.ts","tmp/deploy-probe-nestjs/src/users/users.module.ts","tmp/deploy-probe-nestjs/src/users/users.service.ts","tmp/deploy-probe-nestjs/src/work/grants.service.ts","tmp/deploy-probe-nestjs/src/work/projects.controller.ts","tmp/deploy-probe-nestjs/src/work/projects.service.ts","tmp/deploy-probe-nestjs/src/work/runtimes.service.ts","tmp/deploy-probe-nestjs/src/work/skills.controller.ts","tmp/deploy-probe-nestjs/src/work/skills.service.ts","tmp/deploy-probe-nestjs/src/work/task-events.service.ts","tmp/deploy-probe-nestjs/src/work/tasks.controller.ts","tmp/deploy-probe-nestjs/src/work/tasks.service.ts","tmp/deploy-probe-nestjs/src/work/work.module.ts","tmp/deploy-probe-nestjs/test/actor-events.integration.test.ts","tmp/deploy-probe-nestjs/test/auth.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.jwks.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.roles.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.rs256.acceptance.test.ts","tmp/deploy-probe-nestjs/test/dead-letters.integration.test.ts","tmp/deploy-probe-nestjs/test/http.acceptance.test.ts","tmp/deploy-probe-nestjs/test/job-intent.dispatcher.test.ts","tmp/deploy-probe-nestjs/test/learning.concurrency.test.ts","tmp/deploy-probe-nestjs/test/llm.acceptance.test.ts","tmp/deploy-probe-nestjs/test/llm.anthropic.acceptance.test.ts","tmp/deploy-probe-nestjs/test/outbox.concurrency.test.ts","tmp/deploy-probe-nestjs/test/outbox.deadletter.test.ts","tmp/deploy-probe-nestjs/test/outcomes.integration.test.ts","tmp/deploy-probe-nestjs/test/realtime.command.test.ts","tmp/deploy-probe-nestjs/test/realtime.replay.test.ts","tmp/deploy-probe-nestjs/test/realtime.stats.test.ts","tmp/deploy-probe-nestjs/test/realtime.subscription.test.ts","tmp/deploy-probe-nestjs/test/realtime.tenant.test.ts","tmp/deploy-probe-nestjs/test/task-events.integration.test.ts","tmp/deploy-probe-nestjs/test/triggers.integration.test.ts","tmp/deploy-probe-nestjs/test/work.integration.test.ts","tmp/deploy-probe-nestjs/tsconfig.build.json","tmp/deploy-probe-nestjs/tsconfig.json","tmp/deploy-probe-nestjs/vitest.config.ts","tmp/pdfs/task-loop-qa-v10/page-01.png","tmp/pdfs/task-loop-qa-v10/page-02.png","tmp/pdfs/task-loop-qa-v10/page-03.png","tmp/pdfs/task-loop-qa-v10/page-04.png","tmp/pdfs/task-loop-qa-v10/page-05.png","tmp/pdfs/task-loop-qa-v10/page-06.png","tmp/pdfs/task-loop-qa-v10/page-07.png","tmp/pdfs/task-loop-qa-v10/page-08.png","tmp/pdfs/task-loop-qa-v10/page-09.png","tmp/pdfs/task-loop-qa-v10/page-10.png","tmp/pdfs/task-loop-qa-v10/page-11.png","tmp/pdfs/task-loop-qa-v10/page-12.png","tmp/pdfs/task-loop-qa-v10/page-13.png","tmp/pdfs/task-loop-qa-v10/page-14.png","tmp/pdfs/task-loop-qa-v10/page-15.png","tmp/pdfs/task-loop-qa-v2/page-01.png","tmp/pdfs/task-loop-qa-v2/page-02.png","tmp/pdfs/task-loop-qa-v2/page-03.png","tmp/pdfs/task-loop-qa-v2/page-04.png","tmp/pdfs/task-loop-qa-v2/page-05.png","tmp/pdfs/task-loop-qa-v2/page-06.png","tmp/pdfs/task-loop-qa-v2/page-07.png","tmp/pdfs/task-loop-qa-v2/page-08.png","tmp/pdfs/task-loop-qa-v2/page-09.png","tmp/pdfs/task-loop-qa-v2/page-10.png","tmp/pdfs/task-loop-qa-v2/page-11.png","tmp/pdfs/task-loop-qa-v2/page-12.png","tmp/pdfs/task-loop-qa-v2/page-13.png","tmp/pdfs/task-loop-qa-v2/page-14.png","tmp/pdfs/task-loop-qa-v2/page-15.png","tmp/pdfs/task-loop-qa-v3/contact-sheet.png","tmp/pdfs/task-loop-qa-v3/delivery-01.png","tmp/pdfs/task-loop-qa-v3/delivery-02.png","tmp/pdfs/task-loop-qa-v3/delivery-03.png","tmp/pdfs/task-loop-qa-v3/delivery-04.png","tmp/pdfs/task-loop-qa-v3/delivery-05.png","tmp/pdfs/task-loop-qa-v3/delivery-06.png","tmp/pdfs/task-loop-qa-v3/delivery-07.png","tmp/pdfs/task-loop-qa-v3/delivery-08.png","tmp/pdfs/task-loop-qa-v3/delivery-09.png","tmp/pdfs/task-loop-qa-v3/delivery-10.png","tmp/pdfs/task-loop-qa-v3/delivery-11.png","tmp/pdfs/task-loop-qa-v3/delivery-12.png","tmp/pdfs/task-loop-qa-v3/delivery-13.png","tmp/pdfs/task-loop-qa-v3/delivery-14.png","tmp/pdfs/task-loop-qa-v3/delivery-15.png","tmp/pdfs/task-loop-qa-v3/delivery-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-01.png","tmp/pdfs/task-loop-qa-v3/final-02.png","tmp/pdfs/task-loop-qa-v3/final-03.png","tmp/pdfs/task-loop-qa-v3/final-04.png","tmp/pdfs/task-loop-qa-v3/final-05.png","tmp/pdfs/task-loop-qa-v3/final-06.png","tmp/pdfs/task-loop-qa-v3/final-07.png","tmp/pdfs/task-loop-qa-v3/final-08.png","tmp/pdfs/task-loop-qa-v3/final-09.png","tmp/pdfs/task-loop-qa-v3/final-10.png","tmp/pdfs/task-loop-qa-v3/final-11.png","tmp/pdfs/task-loop-qa-v3/final-12.png","tmp/pdfs/task-loop-qa-v3/final-13.png","tmp/pdfs/task-loop-qa-v3/final-14.png","tmp/pdfs/task-loop-qa-v3/final-15.png","tmp/pdfs/task-loop-qa-v3/final-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-page-13.png","tmp/pdfs/task-loop-qa-v3/page-01.png","tmp/pdfs/task-loop-qa-v3/page-02.png","tmp/pdfs/task-loop-qa-v3/page-03.png","tmp/pdfs/task-loop-qa-v3/page-04.png","tmp/pdfs/task-loop-qa-v3/page-05.png","tmp/pdfs/task-loop-qa-v3/page-06.png","tmp/pdfs/task-loop-qa-v3/page-07.png","tmp/pdfs/task-loop-qa-v3/page-08.png","tmp/pdfs/task-loop-qa-v3/page-09.png","tmp/pdfs/task-loop-qa-v3/page-10.png","tmp/pdfs/task-loop-qa-v3/page-11.png","tmp/pdfs/task-loop-qa-v3/page-12.png","tmp/pdfs/task-loop-qa-v3/page-13.png","tmp/pdfs/task-loop-qa-v3/page-14.png","tmp/pdfs/task-loop-qa-v3/page-15.png","tmp/pdfs/task-loop-qa-v4/contact-sheet.png","tmp/pdfs/task-loop-qa-v4/page-01.png","tmp/pdfs/task-loop-qa-v4/page-02.png","tmp/pdfs/task-loop-qa-v4/page-03.png","tmp/pdfs/task-loop-qa-v4/page-04.png","tmp/pdfs/task-loop-qa-v4/page-05.png","tmp/pdfs/task-loop-qa-v4/page-06.png","tmp/pdfs/task-loop-qa-v4/page-07.png","tmp/pdfs/task-loop-qa-v4/page-08.png","tmp/pdfs/task-loop-qa-v4/page-09.png","tmp/pdfs/task-loop-qa-v4/page-10.png","tmp/pdfs/task-loop-qa-v4/page-11.png","tmp/pdfs/task-loop-qa-v4/page-12.png","tmp/pdfs/task-loop-qa-v4/page-13.png","tmp/pdfs/task-loop-qa-v4/page-14.png","tmp/pdfs/task-loop-qa-v4/page-15.png","tmp/pdfs/task-loop-qa-v5/contact-sheet.png","tmp/pdfs/task-loop-qa-v5/page-01.png","tmp/pdfs/task-loop-qa-v5/page-02.png","tmp/pdfs/task-loop-qa-v5/page-03.png","tmp/pdfs/task-loop-qa-v5/page-04.png","tmp/pdfs/task-loop-qa-v5/page-05.png","tmp/pdfs/task-loop-qa-v5/page-06.png","tmp/pdfs/task-loop-qa-v5/page-07.png","tmp/pdfs/task-loop-qa-v5/page-08.png","tmp/pdfs/task-loop-qa-v5/page-09.png","tmp/pdfs/task-loop-qa-v5/page-10.png","tmp/pdfs/task-loop-qa-v5/page-11.png","tmp/pdfs/task-loop-qa-v5/page-12.png","tmp/pdfs/task-loop-qa-v5/page-13.png","tmp/pdfs/task-loop-qa-v5/page-14.png","tmp/pdfs/task-loop-qa-v5/page-15.png","tmp/pdfs/task-loop-qa-v6/page-01.png","tmp/pdfs/task-loop-qa-v6/page-02.png","tmp/pdfs/task-loop-qa-v6/page-13.png","tmp/pdfs/task-loop-qa-v6/page-14.png","tmp/pdfs/task-loop-qa-v6/page-15.png","tmp/pdfs/task-loop-qa-v7/page-01.png","tmp/pdfs/task-loop-qa-v7/page-02.png","tmp/pdfs/task-loop-qa-v7/page-03.png","tmp/pdfs/task-loop-qa-v7/page-04.png","tmp/pdfs/task-loop-qa-v7/page-05.png","tmp/pdfs/task-loop-qa-v7/page-06.png","tmp/pdfs/task-loop-qa-v7/page-07.png","tmp/pdfs/task-loop-qa-v7/page-08.png","tmp/pdfs/task-loop-qa-v7/page-09.png","tmp/pdfs/task-loop-qa-v7/page-10.png","tmp/pdfs/task-loop-qa-v7/page-11.png","tmp/pdfs/task-loop-qa-v7/page-12.png","tmp/pdfs/task-loop-qa-v7/page-13.png","tmp/pdfs/task-loop-qa-v7/page-14.png","tmp/pdfs/task-loop-qa-v7/page-15.png","tmp/pdfs/task-loop-qa-v8/page-01.png","tmp/pdfs/task-loop-qa-v8/page-02.png","tmp/pdfs/task-loop-qa-v8/page-03.png","tmp/pdfs/task-loop-qa-v8/page-04.png","tmp/pdfs/task-loop-qa-v8/page-05.png","tmp/pdfs/task-loop-qa-v8/page-06.png","tmp/pdfs/task-loop-qa-v8/page-07.png","tmp/pdfs/task-loop-qa-v8/page-08.png","tmp/pdfs/task-loop-qa-v8/page-09.png","tmp/pdfs/task-loop-qa-v8/page-10.png","tmp/pdfs/task-loop-qa-v8/page-11.png","tmp/pdfs/task-loop-qa-v8/page-12.png","tmp/pdfs/task-loop-qa-v8/page-13.png","tmp/pdfs/task-loop-qa-v8/page-14.png","tmp/pdfs/task-loop-qa-v8/page-15.png","tmp/pdfs/task-loop-qa-v9/page-01.png","tmp/pdfs/task-loop-qa-v9/page-02.png","tmp/pdfs/task-loop-qa-v9/page-03.png","tmp/pdfs/task-loop-qa-v9/page-04.png","tmp/pdfs/task-loop-qa-v9/page-05.png","tmp/pdfs/task-loop-qa-v9/page-06.png","tmp/pdfs/task-loop-qa-v9/page-07.png","tmp/pdfs/task-loop-qa-v9/page-08.png","tmp/pdfs/task-loop-qa-v9/page-09.png","tmp/pdfs/task-loop-qa-v9/page-10.png","tmp/pdfs/task-loop-qa-v9/page-11.png","tmp/pdfs/task-loop-qa-v9/page-12.png","tmp/pdfs/task-loop-qa-v9/page-13.png","tmp/pdfs/task-loop-qa-v9/page-14.png","tmp/pdfs/task-loop-qa-v9/page-15.png","tmp/pdfs/task-loop-qa/page-01.png","tmp/pdfs/task-loop-qa/page-02.png","tmp/pdfs/task-loop-qa/page-03.png","tmp/pdfs/task-loop-qa/page-04.png","tmp/pdfs/task-loop-qa/page-05.png","tmp/pdfs/task-loop-qa/page-06.png","tmp/pdfs/task-loop-qa/page-07.png","tmp/pdfs/task-loop-qa/page-08.png","tmp/pdfs/task-loop-qa/page-09.png","tmp/pdfs/task-loop-qa/page-10.png","tmp/pdfs/task-loop-qa/page-11.png","tmp/pdfs/task-loop-qa/page-12.png","tmp/pdfs/task-loop-qa/page-13.png"],"modified":[".gitignore","CLAUDE.md","apps/web/src/lib/api.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/compose.yml","deploy/production/nginx.conf.template","docs/governance-experience.md","docs/operations/production-runbook.md","package.json","products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-docs-truth.mjs","scripts/check-operations.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":74466,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-29T12:51:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
18
|
1788059693
|
1788059711
|
0
|
1788059683
|
1788059711
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23541
|
fix production oidc routing and auth recovery
|
76
|
5
|
governance.yml
|
17
|
5
|
0
|
refs/heads/main
|
fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4a222fb5f11f2640e5e3d214e856b703128ee62c","after":"fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/4a222fb5f11f2640e5e3d214e856b703128ee62c...fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","commits":[{"id":"fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","message":"fix production oidc routing and auth recovery\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","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-28T21:50:53-07:00","added":[],"removed":[],"modified":["apps/web/src/app/api/auth/exchange/route.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","deploy/production/compose.yml","deploy/production/nginx.conf.template","reports/operations.latest.json","reports/report-transaction-lock.latest.json","scripts/check-operations.mjs"]},{"id":"cf9f65d36bef85ec1cab2eb48eda26c4de221a25","message":"Type transaction client explicitly in Fastify operations metrics\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/cf9f65d36bef85ec1cab2eb48eda26c4de221a25","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-28T19:16:25-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/plugins/operations.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json"]}],"total_commits":0,"head_commit":{"id":"fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","message":"fix production oidc routing and auth recovery\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/fcbd389107386fa0a13d0abd3c8d7c272cc2a7f7","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-28T21:50:53-07:00","added":[],"removed":[],"modified":["apps/web/src/app/api/auth/exchange/route.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","deploy/production/compose.yml","deploy/production/nginx.conf.template","reports/operations.latest.json","reports/report-transaction-lock.latest.json","scripts/check-operations.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":74313,"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-26T09:47:09+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
34
|
1787979103
|
1787979523
|
0
|
1787979102
|
1787979523
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23530
|
feat(runtime): freeze product evidence and validat feat(runtime): freeze product evidence and validate citations...
|
76
|
5
|
governance.yml
|
16
|
5
|
0
|
refs/heads/main
|
4a222fb5f11f2640e5e3d214e856b703128ee62c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","after":"4a222fb5f11f2640e5e3d214e856b703128ee62c","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/3cea10da5556cec346fbdecf5255ad38fc2bb92a...4a222fb5f11f2640e5e3d214e856b703128ee62c","commits":[{"id":"4a222fb5f11f2640e5e3d214e856b703128ee62c","message":"feat(runtime): freeze product evidence and validate citations\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/4a222fb5f11f2640e5e3d214e856b703128ee62c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:37-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/product-extensions.module.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","packages/contracts/src/llm-governance.test.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","reports/kernel-extensions.latest.json"]}],"total_commits":0,"head_commit":{"id":"4a222fb5f11f2640e5e3d214e856b703128ee62c","message":"feat(runtime): freeze product evidence and validate citations\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/4a222fb5f11f2640e5e3d214e856b703128ee62c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:37-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/product-extensions.module.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","packages/contracts/src/llm-governance.test.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","reports/kernel-extensions.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":74168,"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-26T09:18:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
64
|
1787708917
|
1787712441
|
0
|
1787708829
|
1787712441
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23528
|
feat(governance): harden runtime workflows and sup feat(governance): harden runtime workflows and supply chain...
|
76
|
5
|
governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
3cea10da5556cec346fbdecf5255ad38fc2bb92a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","after":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/5cb2f1cc2f9953d47fa0bcfac541400d01603f78...3cea10da5556cec346fbdecf5255ad38fc2bb92a","commits":[{"id":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","message":"feat(governance): harden runtime workflows and supply chain\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3cea10da5556cec346fbdecf5255ad38fc2bb92a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:17:12-07:00","added":[".github/dependabot.yml",".npmrc","apps/api-fastify/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-fastify/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-fastify/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-fastify/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-fastify/test/http-limits.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-nestjs/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-nestjs/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-nestjs/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-nestjs/test/http-limits.acceptance.test.ts","apps/web/public/favicon.svg","apps/web/src/app/error.tsx","apps/web/src/app/not-found.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/lib/query-errors.ts","packages/contracts/src/http.test.ts","packages/contracts/src/http.ts","packages/contracts/src/pagination.test.ts","packages/contracts/src/pagination.ts","reports/alertmanager-image.latest.json","reports/image-vulnerabilities.latest.json","reports/postgres-image.latest.json","scripts/check-alertmanager-image.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-postgres-image.mjs","scripts/lib/node-version-guard.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/dispatcher.ts","apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/llm-governance.service.ts","apps/api-fastify/src/modules/llm-invocation-ledger.ts","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/projects.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/llm-governance.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/dispatcher.ts","apps/api-nestjs/src/llm-governance/llm-governance.controller.ts","apps/api-nestjs/src/llm-governance/llm-governance.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/queue/llm-invocation-ledger.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/src/work/projects.controller.ts","apps/api-nestjs/src/work/projects.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/useTaskActions.ts","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actor-mutations.ts","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/llm-governance/api/llm-governance-api.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/nginx.conf.template","deploy/production/prometheus.yml","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/actor.test.ts","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/work.test.ts","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/redis-auth-live.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-all.mjs","scripts/check-auth-startup.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-operations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs","scripts/ops/backup.sh","scripts/ops/trace-storage-metrics.mjs"]}],"total_commits":0,"head_commit":{"id":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","message":"feat(governance): harden runtime workflows and supply chain\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3cea10da5556cec346fbdecf5255ad38fc2bb92a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:17:12-07:00","added":[".github/dependabot.yml",".npmrc","apps/api-fastify/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-fastify/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-fastify/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-fastify/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-fastify/test/http-limits.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-nestjs/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-nestjs/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-nestjs/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-nestjs/test/http-limits.acceptance.test.ts","apps/web/public/favicon.svg","apps/web/src/app/error.tsx","apps/web/src/app/not-found.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/lib/query-errors.ts","packages/contracts/src/http.test.ts","packages/contracts/src/http.ts","packages/contracts/src/pagination.test.ts","packages/contracts/src/pagination.ts","reports/alertmanager-image.latest.json","reports/image-vulnerabilities.latest.json","reports/postgres-image.latest.json","scripts/check-alertmanager-image.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-postgres-image.mjs","scripts/lib/node-version-guard.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/dispatcher.ts","apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/llm-governance.service.ts","apps/api-fastify/src/modules/llm-invocation-ledger.ts","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/projects.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/llm-governance.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/dispatcher.ts","apps/api-nestjs/src/llm-governance/llm-governance.controller.ts","apps/api-nestjs/src/llm-governance/llm-governance.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/queue/llm-invocation-ledger.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/src/work/projects.controller.ts","apps/api-nestjs/src/work/projects.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/useTaskActions.ts","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actor-mutations.ts","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/llm-governance/api/llm-governance-api.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/nginx.conf.template","deploy/production/prometheus.yml","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/actor.test.ts","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/work.test.ts","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/redis-auth-live.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-all.mjs","scripts/check-auth-startup.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-operations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs","scripts/ops/backup.sh","scripts/ops/trace-storage-metrics.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":73053,"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-25T12:21: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
|
3
|
52
|
1787707096
|
1787708829
|
0
|
1787707096
|
1787708829
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23519
|
chore(repo): normalize source file endings
|
76
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
5cb2f1cc2f9953d47fa0bcfac541400d01603f78
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d0abf16e0287850cbb497074a866f1b35074dbb1","after":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/d0abf16e0287850cbb497074a866f1b35074dbb1...5cb2f1cc2f9953d47fa0bcfac541400d01603f78","commits":[{"id":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","message":"chore(repo): normalize source file endings\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5cb2f1cc2f9953d47fa0bcfac541400d01603f78","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T21:19:18-07:00","added":[],"removed":[],"modified":["apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/rag/hooks/use-rag.ts","packages/product-runtime/src/index.ts","packages/product-runtime/tsconfig.json","scripts/check-product-acceptance.mjs"]},{"id":"5aa0889ab5cc77e6652747ac38c1add98092a6e6","message":"Harden governance contracts and acceptance flows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5aa0889ab5cc77e6652747ac38c1add98092a6e6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:22:09-07:00","added":["kernel.boundaries.lock.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-fastify/src/plugins/llm-runtime.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-nestjs/src/llm-governance/llm-provider-runtime.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/adr/0010-industry-agnostic-kernel-extension-protocol.md","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/tool-runtime/package.json","packages/tool-runtime/src/credential-file.test.ts","packages/tool-runtime/src/credential-file.ts","reports/agent-adapters.latest.json","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/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-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/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-boundaries.mjs","scripts/check-kernel-extensions.mjs","scripts/check-operations.mjs","scripts/governance-report.mjs","scripts/llm-live-smoke.mjs"]},{"id":"0198f6e80b1550b0eaaa7f545f9d1f2742abce20","message":"Remove obsolete project artifacts and streamline repository structure\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/0198f6e80b1550b0eaaa7f545f9d1f2742abce20","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T23:01:07-07:00","added":["apps/api-fastify/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-nestjs/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","reports/ui-acceptance.latest.json"],"removed":["reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"modified":["CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","deploy/production/.env.production.example","deploy/production/compose.yml","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","packages/contracts/src/tool.ts","reports/baseline.json","reports/kernel-extensions.latest.json","reports/operations.latest.json","reports/report-transaction-lock.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","scripts/check-kernel-extensions.mjs","scripts/check-operations.mjs"]},{"id":"9e7255825c080423a730cdeb719795351e0cbfbf","message":"Refine product governance and runtime acceptance flows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9e7255825c080423a730cdeb719795351e0cbfbf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T22:47:37-07:00","added":["packages/tool-runtime/src/credential-file.test.ts","packages/tool-runtime/src/credential-file.ts","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"removed":["reports/ui-acceptance.latest.json"],"modified":["CLAUDE.md","apps/api-fastify/src/plugins/tool-intent-dispatcher.ts","apps/api-nestjs/src/tools/tool-intent-dispatcher.service.ts","docs/governance-experience.md","packages/contracts/src/product-manifest.ts","packages/contracts/src/tool.test.ts","packages/contracts/src/tool.ts","packages/tool-runtime/src/index.ts","reports/agent-adapters.latest.json","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/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-kernel-extensions.mjs","scripts/check-runtime-acceptance.mjs"]},{"id":"78828f6a83bac7f990442c063395e317c3af8a4a","message":"Implement governed digital employee platform workflows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/78828f6a83bac7f990442c063395e317c3af8a4a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T19:39:09-07:00","added":["apps/api-fastify/prisma/migrations/20260910000000_tool_result_governance/migration.sql","apps/api-fastify/prisma/migrations/20260911000000_product_permission_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260912000000_tool_result_redaction/migration.sql","apps/api-fastify/prisma/migrations/20260913000000_tool_credential_auth/migration.sql","apps/api-fastify/prisma/migrations/20260914000000_rag_index_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260915000000_rag_reindex_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260916000000_rag_reindex_batches/migration.sql","apps/api-fastify/prisma/migrations/20260917000000_rag_attachment_connector/migration.sql","apps/api-nestjs/prisma/migrations/20260910000000_tool_result_governance/migration.sql","apps/api-nestjs/prisma/migrations/20260911000000_product_permission_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260912000000_tool_result_redaction/migration.sql","apps/api-nestjs/prisma/migrations/20260913000000_tool_credential_auth/migration.sql","apps/api-nestjs/prisma/migrations/20260914000000_rag_index_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260915000000_rag_reindex_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260916000000_rag_reindex_batches/migration.sql","apps/api-nestjs/prisma/migrations/20260917000000_rag_attachment_connector/migration.sql","kernel.boundaries.json","kernel.downstream.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/product-runtime/package.json","packages/product-runtime/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","packages/product-runtime/tsconfig.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-packages.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","scripts/apply-product-migrations.mjs","scripts/check-all.mjs","scripts/check-kernel-boundaries.mjs","scripts/check-kernel-downstream.mjs","scripts/check-kernel-packages.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-product-acceptance.mjs","scripts/check-product-extension-runtime.mjs","scripts/check-product-migrations-runtime.mjs","scripts/check-product-migrations.mjs","scripts/check-product-sql-runtime.mjs","scripts/check-report-transaction-lock.mjs","scripts/lib/product-acceptance-catalog.mjs","scripts/lib/product-acceptance-runner.mjs","scripts/lib/product-migration-catalog.mjs","scripts/lib/product-migration-runner.mjs","scripts/lib/report-transaction-lock.mjs","tests/kernel-downstream-fixture/src/index.ts","tests/kernel-downstream-fixture/tsconfig.json","tests/product-acceptance-fixture/kernel.products.json","tests/product-acceptance-fixture/products/fixture.governance/acceptance/fixture.governance.behavior.acceptance.mjs","tests/product-migration-fixture/kernel.products.json","tests/product-migration-fixture/products/fixture.migrations/migrations/fixture.migrations.case/20260823000100_create_cases.sql","tests/product-migration-fixture/products/fixture.migrations/src/case-repository.ts"],"removed":["reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/multi-instance.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"modified":["CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/tool-execution.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/tool-intent-dispatcher.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.accounting.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/product-extension.acceptance.test.ts","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/scripts/behavior-parity-snapshot.mjs","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/tools/tool-intent-dispatcher.service.ts","apps/api-nestjs/src/tools/tools-execution.service.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.accounting.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/product-extension.acceptance.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","deploy/production/.env.production.example","deploy/production/compose.yml","docs/adr/0010-industry-agnostic-kernel-extension-protocol.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","evals/llm/rag-retrieval.v1.json","governance.registry.json","package.json","packages/config/package.json","packages/contracts/package.json","packages/contracts/src/attachment.test.ts","packages/contracts/src/attachment.ts","packages/contracts/src/llm-data.ts","packages/contracts/src/llm-governance.test.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/contracts/src/product-manifest.test.ts","packages/contracts/src/product-manifest.ts","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/runtime.ts","packages/contracts/src/tool.test.ts","packages/contracts/src/tool.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","packages/observability/package.json","packages/skill-runtime/package.json","packages/tool-runtime/package.json","packages/tool-runtime/src/implementations/enterprise-api-call-v1.ts","packages/tool-runtime/src/implementations/notification-send-v1.ts","packages/tool-runtime/src/implementations/task-cancel-v1.ts","packages/tool-runtime/src/implementations/task-read-v1.ts","packages/tool-runtime/src/implementations/task-transition-v1.ts","packages/tool-runtime/src/implementations/ticket-create-v1.ts","packages/tool-runtime/src/implementations/webhook-post-v1.ts","packages/tool-runtime/src/index.test.ts","packages/tool-runtime/src/index.ts","packages/tool-runtime/src/types.ts","pnpm-lock.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","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/kernel-extensions.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-android.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/redis-auth-live.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-auth-startup.mjs","scripts/check-capacity-envelope.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dependency-resilience.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-extensions.mjs","scripts/check-llm-eval.mjs","scripts/check-migrations.mjs","scripts/check-mobile-export.mjs","scripts/check-multi-instance.mjs","scripts/check-operations.mjs","scripts/check-rls.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","tests/kernel-extension-fixture/implementations.ts","tests/kernel-extension-fixture/manifest.ts"]}],"total_commits":0,"head_commit":{"id":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","message":"chore(repo): normalize source file endings\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5cb2f1cc2f9953d47fa0bcfac541400d01603f78","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T21:19:18-07:00","added":[],"removed":[],"modified":["apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/rag/hooks/use-rag.ts","packages/product-runtime/src/index.ts","packages/product-runtime/tsconfig.json","scripts/check-product-acceptance.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":51207,"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-22T23:28:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1787631680
|
1787634834
|
0
|
1787631678
|
1787634834
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23512
|
fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语 fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突...
|
76
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
d0abf16e0287850cbb497074a866f1b35074dbb1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"28ea42cca5364bd425358f803436ae5c8f9bc687","after":"d0abf16e0287850cbb497074a866f1b35074dbb1","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/28ea42cca5364bd425358f803436ae5c8f9bc687...d0abf16e0287850cbb497074a866f1b35074dbb1","commits":[{"id":"d0abf16e0287850cbb497074a866f1b35074dbb1","message":"fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突\n\nCI run 32581362188 判责:本地线 C42 审计断言(查询租户全量 role.assigned 并断言恰好 2 条)\n与远端线 PR #3 新增的结果裁决闸用例(同租户内先授过一次 approver)在两条时间线上各自全绿,\n合并后首次同文件运行即互相污染——第 3 条审计事件令断言 3≠2 红。git 无冲突 ≠ 语义无冲突。\n\n修复由并行会话完成、本提交收编(两侧同款):审计断言先 filter(subject === \"u-upgrade\")\n再 toMatchObject——断言收窄到被测 subject,与其他用例的角色授予解耦。\n双端 auth.roles 已在一次性专属库(PG 55447 + Redis 6397/9)各 6/6 复现通过。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d0abf16e0287850cbb497074a866f1b35074dbb1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:28:23-07:00","added":[],"removed":[],"modified":["apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts"]}],"total_commits":0,"head_commit":{"id":"d0abf16e0287850cbb497074a866f1b35074dbb1","message":"fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突\n\nCI run 32581362188 判责:本地线 C42 审计断言(查询租户全量 role.assigned 并断言恰好 2 条)\n与远端线 PR #3 新增的结果裁决闸用例(同租户内先授过一次 approver)在两条时间线上各自全绿,\n合并后首次同文件运行即互相污染——第 3 条审计事件令断言 3≠2 红。git 无冲突 ≠ 语义无冲突。\n\n修复由并行会话完成、本提交收编(两侧同款):审计断言先 filter(subject === \"u-upgrade\")\n再 toMatchObject——断言收窄到被测 subject,与其他用例的角色授予解耦。\n双端 auth.roles 已在一次性专属库(PG 55447 + Redis 6397/9)各 6/6 复现通过。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d0abf16e0287850cbb497074a866f1b35074dbb1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:28:23-07:00","added":[],"removed":[],"modified":["apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":51197,"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-22T23:19:47+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787412511
|
1787412602
|
0
|
1787412510
|
1787412602
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23511
|
fix(governance): mobile export runner 自含 contracts fix(governance): mobile export runner 自含 contracts 构建——C69 的 mobile 化身在首轮合并推送 CI 实锤...
|
76
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
28ea42cca5364bd425358f803436ae5c8f9bc687
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"55b9c2a0af78b6998bac3614dedc7187e37057ea","after":"28ea42cca5364bd425358f803436ae5c8f9bc687","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/55b9c2a0af78b6998bac3614dedc7187e37057ea...28ea42cca5364bd425358f803436ae5c8f9bc687","commits":[{"id":"28ea42cca5364bd425358f803436ae5c8f9bc687","message":"fix(governance): mobile export runner 自含 contracts 构建——C69 的 mobile 化身在首轮合并推送 CI 实锤\n\nrun 32580980619 静态 job 红判责:check-mobile-export 的正向静态导出直跑 next build,\nweb 运行时入口依赖 @repo/contracts dist;干净 checkout 无残留构建产物即秒崩\n(violations 1 / staticFiles 0 / synced 0),本机因开发期残留 dist 恒绿——与 C69\n「本机恒绿 ≠ 干净环境能跑」同构,是该教训的第三次现身(runtime → UI → mobile)。\n\n- check-mobile-export.mjs:正向导出前自含 `pnpm --filter @repo/contracts build` +\n dist/index.js 存在性断言(M9,防 tsbuildinfo 静默空转),与两验收 runner 同款\n- check-fork-readiness.mjs:F8 绊网从两 runner 扩至三 runner(含 mobile export);\n 负向已验证(拆掉 mobile 构建步 → F8 精确 1 红 → 恢复复绿)\n- CLAUDE.md/AGENTS.md:C69 行与 G14 ② 叙事回灌三 runner 口径与本次实锤\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/28ea42cca5364bd425358f803436ae5c8f9bc687","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:19:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/check-fork-readiness.mjs","scripts/check-mobile-export.mjs"]}],"total_commits":0,"head_commit":{"id":"28ea42cca5364bd425358f803436ae5c8f9bc687","message":"fix(governance): mobile export runner 自含 contracts 构建——C69 的 mobile 化身在首轮合并推送 CI 实锤\n\nrun 32580980619 静态 job 红判责:check-mobile-export 的正向静态导出直跑 next build,\nweb 运行时入口依赖 @repo/contracts dist;干净 checkout 无残留构建产物即秒崩\n(violations 1 / staticFiles 0 / synced 0),本机因开发期残留 dist 恒绿——与 C69\n「本机恒绿 ≠ 干净环境能跑」同构,是该教训的第三次现身(runtime → UI → mobile)。\n\n- check-mobile-export.mjs:正向导出前自含 `pnpm --filter @repo/contracts build` +\n dist/index.js 存在性断言(M9,防 tsbuildinfo 静默空转),与两验收 runner 同款\n- check-fork-readiness.mjs:F8 绊网从两 runner 扩至三 runner(含 mobile export);\n 负向已验证(拆掉 mobile 构建步 → F8 精确 1 红 → 恢复复绿)\n- CLAUDE.md/AGENTS.md:C69 行与 G14 ② 叙事回灌三 runner 口径与本次实锤\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/28ea42cca5364bd425358f803436ae5c8f9bc687","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:19:42-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/check-fork-readiness.mjs","scripts/check-mobile-export.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":51118,"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-22T23:13: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
|
3
|
5
|
1787411988
|
1787412510
|
0
|
1787411987
|
1787412510
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23510
|
merge: 汇合远端治理修复轮(PR #1/#2/#3,e4b6a5e..c0ed754)与本地 merge: 汇合远端治理修复轮(PR #1/#2/#3,e4b6a5e..c0ed754)与本地 C45–C68 大波次...
|
76
|
5
|
governance.yml
|
11
|
5
|
0
|
refs/heads/main
|
55b9c2a0af78b6998bac3614dedc7187e37057ea
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c0ed7540c137f2a6828d24503a4c396156996f33","after":"55b9c2a0af78b6998bac3614dedc7187e37057ea","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/c0ed7540c137f2a6828d24503a4c396156996f33...55b9c2a0af78b6998bac3614dedc7187e37057ea","commits":[{"id":"55b9c2a0af78b6998bac3614dedc7187e37057ea","message":"merge: 汇合远端治理修复轮(PR #1/#2/#3,e4b6a5e..c0ed754)与本地 C45–C68 大波次\n\n冲突决议(24 文件):\n- reports/baseline:取本地 08-22 棘轮(458 tests / 66 files / 456 cases / 19×2 UI,为远端严格超集)\n- jobs.processor / work.module / queue.ts(fastify):取本地 C26 JobIntent 同事务链(远端 commit 后 queue.add + defaultJobOptions 兜底已被结构性取代;嫁接远端 Redis db NaN 守卫到 Fastify 侧保持双后端对等)\n- roles.service ×2:取本地 C42 审计事务版 + 嫁接远端 RoleAssignmentDto 返回类型接线(PR #3 拍板资产)\n- page.tsx:取本地 C53 会话身份(auth-identity testid,Playwright 依赖)\n- check-ui-acceptance:本地 OIDC 编排 + 远端 F8 注释并集\n- CLAUDE.md:本地 C45–C68 动态区为基底,嫁接远端 F8 行、五层 CI 假红叙事、结果裁决角色闸(G8 ⑫)、own-tests git-tracked 口径注记,快照更新为两远端对齐 c0ed754(run 32380591807 绿)\n\n编号撞号收口:两条时间线独立分配了 C25/C26/C1——远端线三个战役重编号为 C69(runner 自含 contracts 构建 + F8)/ C70(地板采集只认 git 已跟踪)/ C71(队列双注册策略显式化),经验库标题、脚本注释、测试注释同步改引;本地 C25(迟到成功)/C26(JobIntent)/C1(check-naming)编号不变。\n\n合并树证据:静态 pnpm check 全绿(Node 22,本地 dirty 工作区 2026-08-22);双后端 UI 聚合 38/38 绿(伙伴会话实跑,指纹绑定本合并内容)。合并提交自身的远端 CI 以 headSha 定位的 run 为准。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/55b9c2a0af78b6998bac3614dedc7187e37057ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:10:56-07:00","added":[],"removed":["apps/api-fastify/pnpm-lock.yaml","apps/api-nestjs/pnpm-lock.yaml","apps/web/pnpm-lock.yaml"],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/learning.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/learning/learning.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/web/src/app/layout.tsx","apps/web/src/store/useAppStore.ts","docs/README.md","docs/adr/README.md","docs/governance-experience.md","docs/migration-playbook.md","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/learning.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/tenant.ts","packages/contracts/tsconfig.json","scripts/check-contract-consumers.mjs","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},{"id":"f79d0b0b172086ad5ae0954bd2f27a4e640398a1","message":"feat(security)+feat(ops)+feat(mobile): 生产安全与运维深水区大波次——权限/OIDC/RLS/凭据隔离/追踪/韧性/容量/移动端双平台\n\n- 权限与身份:C52 PermissionAssignment 细粒度权限(ALLOW/DENY 覆盖 + 迁移 CHECK)+ C53 Web OIDC PKCE 真实登录态(mock IdP + BFF code exchange + 会话复核)+ C51 生产启动 fail-closed(check:auth-startup)\n- 数据库纵深:C54 22 租户表 FORCE RLS 双策略与 ALS Prisma bridge + C55/C56 migration/API/dispatcher 三凭据分离、独立 dispatcher 入口(check:db-credentials / check:rls)\n- 可观测与韧性:C57 OTLP/W3C 四进程分布式追踪(packages/observability tracing + otel-collector/tempo 参考编排)+ C58/C63/C64/C65 依赖断链/半开黑洞/超时延迟/池饱和 14 fault 恢复(check:dependency-resilience)\n- 容量包络:C61 双 API 真实依赖探测 480 次(check:capacity)+ C66 双后端业务写链 40 主链持久积压无损排空(check:write-capacity)\n- 多实例与 Redis:C49 四 OS 进程真实竞争领取(check:multi-instance)+ C50 requirepass/非零 DB live 认证链(check:redis-auth)\n- 数字员工体验:C46 Actor 入职状态机与六步配置 + C45 health 单源 + C47 SSE 浏览器验收 + 工作台响应式设计收口(design-qa 验收记录 + PageMetricStrip + 头像资产)\n- 移动端:C59/C60 Capacitor 8 Android/iOS 双平台受版本控制工程 + 静态导出 runner(check:mobile)+ Android debug APK/emulator 验收 + 移动 runbook\n- 治理回灌:CLAUDE.md/AGENTS.md 动态区 C45–C67 战役索引、baseline 棘轮(458 tests / 127 行为对比点 / 19×2 UI 用例)、全量 reports 证据刷新\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f79d0b0b172086ad5ae0954bd2f27a4e640398a1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T07:42:56-07:00","added":["apps/api-fastify/prisma/migrations/20260826000000_actor_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260827000000_permission_assignments/migration.sql","apps/api-fastify/prisma/migrations/20260828000000_tenant_rls/migration.sql","apps/api-fastify/src/dispatcher.ts","apps/api-fastify/src/modules/permissions.service.ts","apps/api-fastify/src/plugins/rls-context.ts","apps/api-fastify/src/plugins/rls-prisma.ts","apps/api-fastify/src/routes/permissions.ts","apps/api-fastify/test/auth.permissions.acceptance.test.ts","apps/api-fastify/test/rls.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260826000000_actor_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260827000000_permission_assignments/migration.sql","apps/api-nestjs/prisma/migrations/20260828000000_tenant_rls/migration.sql","apps/api-nestjs/src/dispatcher.ts","apps/api-nestjs/src/permissions/permissions.controller.ts","apps/api-nestjs/src/permissions/permissions.module.ts","apps/api-nestjs/src/permissions/permissions.service.ts","apps/api-nestjs/src/prisma/rls-context.ts","apps/api-nestjs/src/prisma/rls-prisma.ts","apps/api-nestjs/test/auth.permissions.acceptance.test.ts","apps/api-nestjs/test/rls.acceptance.test.ts","apps/web/android/.gitignore","apps/web/android/app/.gitignore","apps/web/android/app/build.gradle","apps/web/android/app/capacitor.build.gradle","apps/web/android/app/proguard-rules.pro","apps/web/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java","apps/web/android/app/src/debug/AndroidManifest.xml","apps/web/android/app/src/main/AndroidManifest.xml","apps/web/android/app/src/main/java/com/highpraise/digitalemployeeos/MainActivity.java","apps/web/android/app/src/main/res/drawable-land-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-land-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-hdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-mdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-port-xxxhdpi/splash.png","apps/web/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml","apps/web/android/app/src/main/res/drawable/ic_launcher_background.xml","apps/web/android/app/src/main/res/drawable/splash.png","apps/web/android/app/src/main/res/layout/activity_main.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","apps/web/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png","apps/web/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png","apps/web/android/app/src/main/res/values/ic_launcher_background.xml","apps/web/android/app/src/main/res/values/strings.xml","apps/web/android/app/src/main/res/values/styles.xml","apps/web/android/app/src/main/res/xml/file_paths.xml","apps/web/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java","apps/web/android/build.gradle","apps/web/android/capacitor.settings.gradle","apps/web/android/gradle.properties","apps/web/android/gradle/wrapper/gradle-wrapper.jar","apps/web/android/gradle/wrapper/gradle-wrapper.properties","apps/web/android/gradlew","apps/web/android/gradlew.bat","apps/web/android/settings.gradle","apps/web/android/variables.gradle","apps/web/capacitor.config.ts","apps/web/ios/.gitignore","apps/web/ios/App/App.xcodeproj/project.pbxproj","apps/web/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist","apps/web/ios/App/App/AppDelegate.swift","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png","apps/web/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png","apps/web/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png","apps/web/ios/App/App/Base.lproj/LaunchScreen.storyboard","apps/web/ios/App/App/Base.lproj/Main.storyboard","apps/web/ios/App/App/Info.plist","apps/web/ios/App/CapApp-SPM/.gitignore","apps/web/ios/App/CapApp-SPM/Package.swift","apps/web/ios/App/CapApp-SPM/README.md","apps/web/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift","apps/web/ios/debug.xcconfig","apps/web/public/assets/digital-employees/operations-specialist.png","apps/web/src/app/api/auth/config/route.ts","apps/web/src/app/api/auth/exchange/route.ts","apps/web/src/components/workbench/PageMetricStrip.tsx","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actor-mutations.ts","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/auth/api/auth-api.ts","apps/web/src/features/auth/components/AuthGate.tsx","apps/web/src/features/auth/lib/oidc.ts","apps/web/src/features/permissions/api/permissions-api.ts","apps/web/src/features/permissions/components/PermissionAssignmentsPanel.tsx","apps/web/src/features/permissions/hooks/use-permissions.ts","apps/web/src/store/useAuthStore.ts","deploy/production/otel-collector.yml","deploy/production/tempo.yml","design-qa.md","docs/operations/mobile-android-runbook.md","packages/contracts/src/actor.test.ts","packages/contracts/src/health.test.ts","packages/contracts/src/health.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/observability/src/http-route.ts","packages/observability/src/tracing.test.ts","packages/observability/src/tracing.ts","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/mobile-android.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/redis-auth-live.latest.json","reports/rls.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json","scripts/build-mobile-export.mjs","scripts/check-auth-startup.mjs","scripts/check-capacity-envelope.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dependency-resilience.mjs","scripts/check-mobile-export.mjs","scripts/check-multi-instance.mjs","scripts/check-redis-auth-live.mjs","scripts/check-rls.mjs","scripts/check-trace-backend.mjs","scripts/check-tracing.mjs","scripts/check-write-capacity.mjs","scripts/lib/db-runtime-role.mjs","scripts/mock-oidc-idp.mjs","scripts/provision-runtime-role.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/plugins/operations.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/trigger-engine.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/scripts/behavior-parity-snapshot.mjs","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/operations/operations.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.module.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/src/app/page.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","apps/web/src/store/realtime.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/prometheus.yml","docs/adr/0009-dual-backend-governance-parity.md","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","output/pdf/任务驱动的数字员工执行闭环.pdf","package.json","packages/contracts/src/actor.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/realtime.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.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/migrations.latest.json","reports/naming.latest.json","reports/operations.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/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-operations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/scan-ignore.mjs","tmp/pdfs/generate_task_loop_pdf.py"]},{"id":"4f2e17b9c3aa4745c5acebadabdd979e0a7ee7f4","message":"Harden governance runtime and acceptance coverage\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/4f2e17b9c3aa4745c5acebadabdd979e0a7ee7f4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-21T08:36:22-07:00","added":[".dockerignore","apps/api-fastify/prisma/migrations/20260825030000_skill_activation/migration.sql","apps/api-fastify/src/plugins/operations.ts","apps/api-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","apps/api-nestjs/scripts/behavior-parity-snapshot.mjs","apps/api-nestjs/src/common/api-http-exception.filter.ts","apps/api-nestjs/src/operations/operations.module.ts","apps/web/src/features/skills/api/skills-api.ts","apps/web/src/features/skills/components/SkillManagementPanel.tsx","apps/web/src/features/skills/hooks/use-skills.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alertmanager.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/nginx.conf.template","deploy/production/prometheus.yml","docs/operations/production-runbook.md","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","packages/observability/tsconfig.json","packages/skill-runtime/package.json","packages/skill-runtime/src/implementations/analysis-v1.ts","packages/skill-runtime/src/implementations/customer-research-v1.ts","packages/skill-runtime/src/implementations/knowledge-synthesis-v1-1.ts","packages/skill-runtime/src/implementations/knowledge-synthesis-v1-2.ts","packages/skill-runtime/src/implementations/reporting-v1.ts","packages/skill-runtime/src/implementations/reporting-v2.ts","packages/skill-runtime/src/index.test.ts","packages/skill-runtime/src/index.ts","packages/skill-runtime/src/prompt.ts","packages/skill-runtime/src/types.ts","packages/skill-runtime/tsconfig.json","reports/dual-backend-behavior.latest.json","reports/operations.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","scripts/check-dual-backend-behavior.mjs","scripts/check-operations.mjs","scripts/check-ui-all.mjs","scripts/ops/backup.sh","scripts/ops/paging-relay.mjs","scripts/ops/restore.sh","scripts/replay-dead-letter.mjs","tmp/deploy-probe-nestjs/.env.example","tmp/deploy-probe-nestjs/docker-compose.yml","tmp/deploy-probe-nestjs/nest-cli.json","tmp/deploy-probe-nestjs/package.json","tmp/deploy-probe-nestjs/prisma/migrations/20260818000000_init/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260819000000_outbox_replay_cursor/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260820000000_work_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260821000000_learning_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260822000000_trigger_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260823000000_outcome_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260824000000_attribution_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825000000_role_assignment/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825010000_workgraph_slice/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/20260825030000_skill_activation/migration.sql","tmp/deploy-probe-nestjs/prisma/migrations/migration_lock.toml","tmp/deploy-probe-nestjs/prisma/schema.prisma","tmp/deploy-probe-nestjs/prisma/seed.ts","tmp/deploy-probe-nestjs/scripts/behavior-parity-snapshot.mjs","tmp/deploy-probe-nestjs/src/actors/actor-events.service.ts","tmp/deploy-probe-nestjs/src/actors/actors.controller.ts","tmp/deploy-probe-nestjs/src/actors/actors.module.ts","tmp/deploy-probe-nestjs/src/actors/actors.service.ts","tmp/deploy-probe-nestjs/src/app.module.ts","tmp/deploy-probe-nestjs/src/common/api-http-exception.filter.ts","tmp/deploy-probe-nestjs/src/common/envelope.ts","tmp/deploy-probe-nestjs/src/common/tenant.decorator.ts","tmp/deploy-probe-nestjs/src/common/zod-validation.pipe.ts","tmp/deploy-probe-nestjs/src/create-app.ts","tmp/deploy-probe-nestjs/src/events/connection-registry.service.ts","tmp/deploy-probe-nestjs/src/events/event-bus.service.ts","tmp/deploy-probe-nestjs/src/events/events.gateway.ts","tmp/deploy-probe-nestjs/src/events/events.module.ts","tmp/deploy-probe-nestjs/src/events/fanout.service.ts","tmp/deploy-probe-nestjs/src/events/outbox-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/events/realtime-stats.controller.ts","tmp/deploy-probe-nestjs/src/events/replay.service.ts","tmp/deploy-probe-nestjs/src/health/health.controller.ts","tmp/deploy-probe-nestjs/src/health/health.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.module.ts","tmp/deploy-probe-nestjs/src/learning/learning.service.ts","tmp/deploy-probe-nestjs/src/main.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.controller.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.module.ts","tmp/deploy-probe-nestjs/src/outcomes/outcomes.service.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.module.ts","tmp/deploy-probe-nestjs/src/prisma/prisma.service.ts","tmp/deploy-probe-nestjs/src/queue/job-intent-dispatcher.service.ts","tmp/deploy-probe-nestjs/src/queue/jobs.controller.ts","tmp/deploy-probe-nestjs/src/queue/jobs.processor.ts","tmp/deploy-probe-nestjs/src/queue/queue.module.ts","tmp/deploy-probe-nestjs/src/queue/queue.types.ts","tmp/deploy-probe-nestjs/src/redis/redis.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.controller.ts","tmp/deploy-probe-nestjs/src/roles/roles.module.ts","tmp/deploy-probe-nestjs/src/roles/roles.service.ts","tmp/deploy-probe-nestjs/src/sse/sse.controller.ts","tmp/deploy-probe-nestjs/src/sse/sse.module.ts","tmp/deploy-probe-nestjs/src/statemachine/index.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.engine.ts","tmp/deploy-probe-nestjs/src/statemachine/statemachine.types.ts","tmp/deploy-probe-nestjs/src/triggers/trigger-engine.service.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.controller.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.module.ts","tmp/deploy-probe-nestjs/src/triggers/triggers.service.ts","tmp/deploy-probe-nestjs/src/users/users.controller.ts","tmp/deploy-probe-nestjs/src/users/users.module.ts","tmp/deploy-probe-nestjs/src/users/users.service.ts","tmp/deploy-probe-nestjs/src/work/grants.service.ts","tmp/deploy-probe-nestjs/src/work/projects.controller.ts","tmp/deploy-probe-nestjs/src/work/projects.service.ts","tmp/deploy-probe-nestjs/src/work/runtimes.service.ts","tmp/deploy-probe-nestjs/src/work/skills.controller.ts","tmp/deploy-probe-nestjs/src/work/skills.service.ts","tmp/deploy-probe-nestjs/src/work/task-events.service.ts","tmp/deploy-probe-nestjs/src/work/tasks.controller.ts","tmp/deploy-probe-nestjs/src/work/tasks.service.ts","tmp/deploy-probe-nestjs/src/work/work.module.ts","tmp/deploy-probe-nestjs/test/actor-events.integration.test.ts","tmp/deploy-probe-nestjs/test/auth.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.jwks.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.roles.acceptance.test.ts","tmp/deploy-probe-nestjs/test/auth.rs256.acceptance.test.ts","tmp/deploy-probe-nestjs/test/dead-letters.integration.test.ts","tmp/deploy-probe-nestjs/test/http.acceptance.test.ts","tmp/deploy-probe-nestjs/test/job-intent.dispatcher.test.ts","tmp/deploy-probe-nestjs/test/learning.concurrency.test.ts","tmp/deploy-probe-nestjs/test/llm.acceptance.test.ts","tmp/deploy-probe-nestjs/test/llm.anthropic.acceptance.test.ts","tmp/deploy-probe-nestjs/test/outbox.concurrency.test.ts","tmp/deploy-probe-nestjs/test/outbox.deadletter.test.ts","tmp/deploy-probe-nestjs/test/outcomes.integration.test.ts","tmp/deploy-probe-nestjs/test/realtime.command.test.ts","tmp/deploy-probe-nestjs/test/realtime.replay.test.ts","tmp/deploy-probe-nestjs/test/realtime.stats.test.ts","tmp/deploy-probe-nestjs/test/realtime.subscription.test.ts","tmp/deploy-probe-nestjs/test/realtime.tenant.test.ts","tmp/deploy-probe-nestjs/test/task-events.integration.test.ts","tmp/deploy-probe-nestjs/test/triggers.integration.test.ts","tmp/deploy-probe-nestjs/test/work.integration.test.ts","tmp/deploy-probe-nestjs/tsconfig.build.json","tmp/deploy-probe-nestjs/tsconfig.json","tmp/deploy-probe-nestjs/vitest.config.ts","tmp/ops-config/.env.production","tmp/ops-config/metrics-token.txt","tmp/pdfs/generate_task_loop_pdf.py","tmp/pdfs/task-loop-qa-v2/page-01.png","tmp/pdfs/task-loop-qa-v2/page-02.png","tmp/pdfs/task-loop-qa-v2/page-03.png","tmp/pdfs/task-loop-qa-v2/page-04.png","tmp/pdfs/task-loop-qa-v2/page-05.png","tmp/pdfs/task-loop-qa-v2/page-06.png","tmp/pdfs/task-loop-qa-v2/page-07.png","tmp/pdfs/task-loop-qa-v2/page-08.png","tmp/pdfs/task-loop-qa-v2/page-09.png","tmp/pdfs/task-loop-qa-v2/page-10.png","tmp/pdfs/task-loop-qa-v2/page-11.png","tmp/pdfs/task-loop-qa-v2/page-12.png","tmp/pdfs/task-loop-qa-v2/page-13.png","tmp/pdfs/task-loop-qa-v2/page-14.png","tmp/pdfs/task-loop-qa-v2/page-15.png","tmp/pdfs/task-loop-qa-v3/contact-sheet.png","tmp/pdfs/task-loop-qa-v3/delivery-01.png","tmp/pdfs/task-loop-qa-v3/delivery-02.png","tmp/pdfs/task-loop-qa-v3/delivery-03.png","tmp/pdfs/task-loop-qa-v3/delivery-04.png","tmp/pdfs/task-loop-qa-v3/delivery-05.png","tmp/pdfs/task-loop-qa-v3/delivery-06.png","tmp/pdfs/task-loop-qa-v3/delivery-07.png","tmp/pdfs/task-loop-qa-v3/delivery-08.png","tmp/pdfs/task-loop-qa-v3/delivery-09.png","tmp/pdfs/task-loop-qa-v3/delivery-10.png","tmp/pdfs/task-loop-qa-v3/delivery-11.png","tmp/pdfs/task-loop-qa-v3/delivery-12.png","tmp/pdfs/task-loop-qa-v3/delivery-13.png","tmp/pdfs/task-loop-qa-v3/delivery-14.png","tmp/pdfs/task-loop-qa-v3/delivery-15.png","tmp/pdfs/task-loop-qa-v3/delivery-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-01.png","tmp/pdfs/task-loop-qa-v3/final-02.png","tmp/pdfs/task-loop-qa-v3/final-03.png","tmp/pdfs/task-loop-qa-v3/final-04.png","tmp/pdfs/task-loop-qa-v3/final-05.png","tmp/pdfs/task-loop-qa-v3/final-06.png","tmp/pdfs/task-loop-qa-v3/final-07.png","tmp/pdfs/task-loop-qa-v3/final-08.png","tmp/pdfs/task-loop-qa-v3/final-09.png","tmp/pdfs/task-loop-qa-v3/final-10.png","tmp/pdfs/task-loop-qa-v3/final-11.png","tmp/pdfs/task-loop-qa-v3/final-12.png","tmp/pdfs/task-loop-qa-v3/final-13.png","tmp/pdfs/task-loop-qa-v3/final-14.png","tmp/pdfs/task-loop-qa-v3/final-15.png","tmp/pdfs/task-loop-qa-v3/final-contact-sheet.png","tmp/pdfs/task-loop-qa-v3/final-page-13.png","tmp/pdfs/task-loop-qa-v3/page-01.png","tmp/pdfs/task-loop-qa-v3/page-02.png","tmp/pdfs/task-loop-qa-v3/page-03.png","tmp/pdfs/task-loop-qa-v3/page-04.png","tmp/pdfs/task-loop-qa-v3/page-05.png","tmp/pdfs/task-loop-qa-v3/page-06.png","tmp/pdfs/task-loop-qa-v3/page-07.png","tmp/pdfs/task-loop-qa-v3/page-08.png","tmp/pdfs/task-loop-qa-v3/page-09.png","tmp/pdfs/task-loop-qa-v3/page-10.png","tmp/pdfs/task-loop-qa-v3/page-11.png","tmp/pdfs/task-loop-qa-v3/page-12.png","tmp/pdfs/task-loop-qa-v3/page-13.png","tmp/pdfs/task-loop-qa-v3/page-14.png","tmp/pdfs/task-loop-qa-v3/page-15.png","tmp/pdfs/task-loop-qa/page-01.png","tmp/pdfs/task-loop-qa/page-02.png","tmp/pdfs/task-loop-qa/page-03.png","tmp/pdfs/task-loop-qa/page-04.png","tmp/pdfs/task-loop-qa/page-05.png","tmp/pdfs/task-loop-qa/page-06.png","tmp/pdfs/task-loop-qa/page-07.png","tmp/pdfs/task-loop-qa/page-08.png","tmp/pdfs/task-loop-qa/page-09.png","tmp/pdfs/task-loop-qa/page-10.png","tmp/pdfs/task-loop-qa/page-11.png","tmp/pdfs/task-loop-qa/page-12.png","tmp/pdfs/task-loop-qa/page-13.png"],"removed":[],"modified":[".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/learning.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/trigger-engine.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/skills.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/dead-letters.integration.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/learning/learning.service.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/dead-letters.integration.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","docs/adr/0009-dual-backend-governance-parity.md","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","governance.registry.json","governance.registry.schema.json","output/pdf/任务驱动的数字员工执行闭环.pdf","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/learning.test.ts","packages/contracts/src/learning.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","packages/contracts/src/tenant.ts","pnpm-lock.yaml","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},{"id":"f6ea2efbccafe9df16c29fd2f3ee80cedd159338","message":"feat: 完善可靠作业交接与产品手册\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6ea2efbccafe9df16c29fd2f3ee80cedd159338","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T06:47:23-07:00","added":["apps/api-fastify/prisma/migrations/20260825020000_job_intent/migration.sql","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-nestjs/prisma/migrations/20260825020000_job_intent/migration.sql","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","output/pdf/任务驱动的数字员工执行闭环.pdf","outputs/Digital_Employee_OS_产品使用手册_V1.0.docx","outputs/Digital_Employee_OS_产品说明书_V1.0.docx","work/product-manual/build_user_manual.py","work/product-manual/render-final/page-1.png","work/product-manual/render-final/page-10.png","work/product-manual/render-final/page-11.png","work/product-manual/render-final/page-12.png","work/product-manual/render-final/page-13.png","work/product-manual/render-final/page-14.png","work/product-manual/render-final/page-15.png","work/product-manual/render-final/page-16.png","work/product-manual/render-final/page-17.png","work/product-manual/render-final/page-18.png","work/product-manual/render-final/page-19.png","work/product-manual/render-final/page-2.png","work/product-manual/render-final/page-20.png","work/product-manual/render-final/page-21.png","work/product-manual/render-final/page-22.png","work/product-manual/render-final/page-23.png","work/product-manual/render-final/page-24.png","work/product-manual/render-final/page-25.png","work/product-manual/render-final/page-26.png","work/product-manual/render-final/page-3.png","work/product-manual/render-final/page-4.png","work/product-manual/render-final/page-5.png","work/product-manual/render-final/page-6.png","work/product-manual/render-final/page-7.png","work/product-manual/render-final/page-8.png","work/product-manual/render-final/page-9.png","work/product-manual/render-v1/Digital_Employee_OS_产品使用手册_V1.0.pdf","work/product-manual/render-v1/page-1.png","work/product-manual/render-v1/page-10.png","work/product-manual/render-v1/page-11.png","work/product-manual/render-v1/page-12.png","work/product-manual/render-v1/page-13.png","work/product-manual/render-v1/page-14.png","work/product-manual/render-v1/page-15.png","work/product-manual/render-v1/page-16.png","work/product-manual/render-v1/page-17.png","work/product-manual/render-v1/page-18.png","work/product-manual/render-v1/page-19.png","work/product-manual/render-v1/page-2.png","work/product-manual/render-v1/page-20.png","work/product-manual/render-v1/page-21.png","work/product-manual/render-v1/page-22.png","work/product-manual/render-v1/page-23.png","work/product-manual/render-v1/page-24.png","work/product-manual/render-v1/page-25.png","work/product-manual/render-v1/page-26.png","work/product-manual/render-v1/page-27.png","work/product-manual/render-v1/page-28.png","work/product-manual/render-v1/page-29.png","work/product-manual/render-v1/page-3.png","work/product-manual/render-v1/page-30.png","work/product-manual/render-v1/page-31.png","work/product-manual/render-v1/page-4.png","work/product-manual/render-v1/page-5.png","work/product-manual/render-v1/page-6.png","work/product-manual/render-v1/page-7.png","work/product-manual/render-v1/page-8.png","work/product-manual/render-v1/page-9.png","work/product-manual/render-v2/Digital_Employee_OS_产品使用手册_V1.0.pdf","work/product-manual/render-v2/page-1.png","work/product-manual/render-v2/page-10.png","work/product-manual/render-v2/page-11.png","work/product-manual/render-v2/page-12.png","work/product-manual/render-v2/page-13.png","work/product-manual/render-v2/page-14.png","work/product-manual/render-v2/page-15.png","work/product-manual/render-v2/page-16.png","work/product-manual/render-v2/page-17.png","work/product-manual/render-v2/page-18.png","work/product-manual/render-v2/page-19.png","work/product-manual/render-v2/page-2.png","work/product-manual/render-v2/page-20.png","work/product-manual/render-v2/page-21.png","work/product-manual/render-v2/page-22.png","work/product-manual/render-v2/page-23.png","work/product-manual/render-v2/page-24.png","work/product-manual/render-v2/page-25.png","work/product-manual/render-v2/page-3.png","work/product-manual/render-v2/page-4.png","work/product-manual/render-v2/page-5.png","work/product-manual/render-v2/page-6.png","work/product-manual/render-v2/page-7.png","work/product-manual/render-v2/page-8.png","work/product-manual/render-v2/page-9.png","work/product-manual/render-v3/page-1.png","work/product-manual/render-v3/page-10.png","work/product-manual/render-v3/page-11.png","work/product-manual/render-v3/page-12.png","work/product-manual/render-v3/page-13.png","work/product-manual/render-v3/page-14.png","work/product-manual/render-v3/page-15.png","work/product-manual/render-v3/page-16.png","work/product-manual/render-v3/page-17.png","work/product-manual/render-v3/page-18.png","work/product-manual/render-v3/page-19.png","work/product-manual/render-v3/page-2.png","work/product-manual/render-v3/page-20.png","work/product-manual/render-v3/page-21.png","work/product-manual/render-v3/page-22.png","work/product-manual/render-v3/page-23.png","work/product-manual/render-v3/page-24.png","work/product-manual/render-v3/page-25.png","work/product-manual/render-v3/page-26.png","work/product-manual/render-v3/page-27.png","work/product-manual/render-v3/page-28.png","work/product-manual/render-v3/page-29.png","work/product-manual/render-v3/page-3.png","work/product-manual/render-v3/page-4.png","work/product-manual/render-v3/page-5.png","work/product-manual/render-v3/page-6.png","work/product-manual/render-v3/page-7.png","work/product-manual/render-v3/page-8.png","work/product-manual/render-v3/page-9.png","work/product-manual/render-v4/page-1.png","work/product-manual/render-v4/page-10.png","work/product-manual/render-v4/page-11.png","work/product-manual/render-v4/page-12.png","work/product-manual/render-v4/page-13.png","work/product-manual/render-v4/page-14.png","work/product-manual/render-v4/page-15.png","work/product-manual/render-v4/page-16.png","work/product-manual/render-v4/page-17.png","work/product-manual/render-v4/page-18.png","work/product-manual/render-v4/page-19.png","work/product-manual/render-v4/page-2.png","work/product-manual/render-v4/page-20.png","work/product-manual/render-v4/page-21.png","work/product-manual/render-v4/page-22.png","work/product-manual/render-v4/page-23.png","work/product-manual/render-v4/page-24.png","work/product-manual/render-v4/page-25.png","work/product-manual/render-v4/page-26.png","work/product-manual/render-v4/page-27.png","work/product-manual/render-v4/page-28.png","work/product-manual/render-v4/page-3.png","work/product-manual/render-v4/page-4.png","work/product-manual/render-v4/page-5.png","work/product-manual/render-v4/page-6.png","work/product-manual/render-v4/page-7.png","work/product-manual/render-v4/page-8.png","work/product-manual/render-v4/page-9.png","work/product-manual/render-v5/page-1.png","work/product-manual/render-v5/page-10.png","work/product-manual/render-v5/page-11.png","work/product-manual/render-v5/page-12.png","work/product-manual/render-v5/page-13.png","work/product-manual/render-v5/page-14.png","work/product-manual/render-v5/page-15.png","work/product-manual/render-v5/page-16.png","work/product-manual/render-v5/page-17.png","work/product-manual/render-v5/page-18.png","work/product-manual/render-v5/page-19.png","work/product-manual/render-v5/page-2.png","work/product-manual/render-v5/page-20.png","work/product-manual/render-v5/page-21.png","work/product-manual/render-v5/page-22.png","work/product-manual/render-v5/page-23.png","work/product-manual/render-v5/page-24.png","work/product-manual/render-v5/page-25.png","work/product-manual/render-v5/page-26.png","work/product-manual/render-v5/page-3.png","work/product-manual/render-v5/page-4.png","work/product-manual/render-v5/page-5.png","work/product-manual/render-v5/page-6.png","work/product-manual/render-v5/page-7.png","work/product-manual/render-v5/page-8.png","work/product-manual/render-v5/page-9.png","work/product-manual/screenshots/01-workbench.png","work/product-manual/screenshots/02-team.png","work/product-manual/screenshots/03-automation.png","work/product-manual/screenshots/04-system.png","work/product-manual/screenshots/05-task-detail-crop.png","work/product-manual/screenshots/05-task-detail.png","work/product-manual/screenshots/06-execution-records-crop.png","work/product-manual/screenshots/06-execution-records.png","work/product-manual/screenshots/07-task-create.png","work/product-manual/screenshots/08-task-more-options.png","work/product-manual/screenshots/09-mobile-workbench.png","work/product_manual/__pycache__/build_product_manual.cpython-312.pyc","work/product_manual/build_product_manual.py","work/product_manual/figure_closed_loop.png","work/product_manual/figure_product_ia.png","work/product_manual/figure_technical_layers.png","work/product_manual/qa_v1/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v1/page-1.png","work/product_manual/qa_v1/page-10.png","work/product_manual/qa_v1/page-11.png","work/product_manual/qa_v1/page-12.png","work/product_manual/qa_v1/page-13.png","work/product_manual/qa_v1/page-14.png","work/product_manual/qa_v1/page-15.png","work/product_manual/qa_v1/page-16.png","work/product_manual/qa_v1/page-17.png","work/product_manual/qa_v1/page-18.png","work/product_manual/qa_v1/page-19.png","work/product_manual/qa_v1/page-2.png","work/product_manual/qa_v1/page-3.png","work/product_manual/qa_v1/page-4.png","work/product_manual/qa_v1/page-5.png","work/product_manual/qa_v1/page-6.png","work/product_manual/qa_v1/page-7.png","work/product_manual/qa_v1/page-8.png","work/product_manual/qa_v1/page-9.png","work/product_manual/qa_v10/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v10/page-1.png","work/product_manual/qa_v10/page-10.png","work/product_manual/qa_v10/page-11.png","work/product_manual/qa_v10/page-12.png","work/product_manual/qa_v10/page-13.png","work/product_manual/qa_v10/page-14.png","work/product_manual/qa_v10/page-15.png","work/product_manual/qa_v10/page-16.png","work/product_manual/qa_v10/page-17.png","work/product_manual/qa_v10/page-18.png","work/product_manual/qa_v10/page-19.png","work/product_manual/qa_v10/page-2.png","work/product_manual/qa_v10/page-20.png","work/product_manual/qa_v10/page-21.png","work/product_manual/qa_v10/page-22.png","work/product_manual/qa_v10/page-23.png","work/product_manual/qa_v10/page-24.png","work/product_manual/qa_v10/page-25.png","work/product_manual/qa_v10/page-26.png","work/product_manual/qa_v10/page-27.png","work/product_manual/qa_v10/page-28.png","work/product_manual/qa_v10/page-3.png","work/product_manual/qa_v10/page-4.png","work/product_manual/qa_v10/page-5.png","work/product_manual/qa_v10/page-6.png","work/product_manual/qa_v10/page-7.png","work/product_manual/qa_v10/page-8.png","work/product_manual/qa_v10/page-9.png","work/product_manual/qa_v11/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v11/a11y.json","work/product_manual/qa_v11/page-1.png","work/product_manual/qa_v11/page-10.png","work/product_manual/qa_v11/page-11.png","work/product_manual/qa_v11/page-12.png","work/product_manual/qa_v11/page-13.png","work/product_manual/qa_v11/page-14.png","work/product_manual/qa_v11/page-15.png","work/product_manual/qa_v11/page-16.png","work/product_manual/qa_v11/page-17.png","work/product_manual/qa_v11/page-18.png","work/product_manual/qa_v11/page-19.png","work/product_manual/qa_v11/page-2.png","work/product_manual/qa_v11/page-20.png","work/product_manual/qa_v11/page-21.png","work/product_manual/qa_v11/page-22.png","work/product_manual/qa_v11/page-23.png","work/product_manual/qa_v11/page-24.png","work/product_manual/qa_v11/page-25.png","work/product_manual/qa_v11/page-26.png","work/product_manual/qa_v11/page-27.png","work/product_manual/qa_v11/page-28.png","work/product_manual/qa_v11/page-29.png","work/product_manual/qa_v11/page-3.png","work/product_manual/qa_v11/page-4.png","work/product_manual/qa_v11/page-5.png","work/product_manual/qa_v11/page-6.png","work/product_manual/qa_v11/page-7.png","work/product_manual/qa_v11/page-8.png","work/product_manual/qa_v11/page-9.png","work/product_manual/qa_v11/style-lint.json","work/product_manual/qa_v2/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v2/page-1.png","work/product_manual/qa_v2/page-10.png","work/product_manual/qa_v2/page-11.png","work/product_manual/qa_v2/page-12.png","work/product_manual/qa_v2/page-13.png","work/product_manual/qa_v2/page-14.png","work/product_manual/qa_v2/page-15.png","work/product_manual/qa_v2/page-16.png","work/product_manual/qa_v2/page-17.png","work/product_manual/qa_v2/page-18.png","work/product_manual/qa_v2/page-19.png","work/product_manual/qa_v2/page-2.png","work/product_manual/qa_v2/page-3.png","work/product_manual/qa_v2/page-4.png","work/product_manual/qa_v2/page-5.png","work/product_manual/qa_v2/page-6.png","work/product_manual/qa_v2/page-7.png","work/product_manual/qa_v2/page-8.png","work/product_manual/qa_v2/page-9.png","work/product_manual/qa_v3/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v3/page-1.png","work/product_manual/qa_v3/page-10.png","work/product_manual/qa_v3/page-11.png","work/product_manual/qa_v3/page-12.png","work/product_manual/qa_v3/page-13.png","work/product_manual/qa_v3/page-14.png","work/product_manual/qa_v3/page-15.png","work/product_manual/qa_v3/page-16.png","work/product_manual/qa_v3/page-17.png","work/product_manual/qa_v3/page-18.png","work/product_manual/qa_v3/page-19.png","work/product_manual/qa_v3/page-2.png","work/product_manual/qa_v3/page-3.png","work/product_manual/qa_v3/page-4.png","work/product_manual/qa_v3/page-5.png","work/product_manual/qa_v3/page-6.png","work/product_manual/qa_v3/page-7.png","work/product_manual/qa_v3/page-8.png","work/product_manual/qa_v3/page-9.png","work/product_manual/qa_v4/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v4/page-1.png","work/product_manual/qa_v4/page-10.png","work/product_manual/qa_v4/page-11.png","work/product_manual/qa_v4/page-12.png","work/product_manual/qa_v4/page-13.png","work/product_manual/qa_v4/page-14.png","work/product_manual/qa_v4/page-15.png","work/product_manual/qa_v4/page-16.png","work/product_manual/qa_v4/page-17.png","work/product_manual/qa_v4/page-18.png","work/product_manual/qa_v4/page-19.png","work/product_manual/qa_v4/page-2.png","work/product_manual/qa_v4/page-3.png","work/product_manual/qa_v4/page-4.png","work/product_manual/qa_v4/page-5.png","work/product_manual/qa_v4/page-6.png","work/product_manual/qa_v4/page-7.png","work/product_manual/qa_v4/page-8.png","work/product_manual/qa_v4/page-9.png","work/product_manual/qa_v5/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v5/page-1.png","work/product_manual/qa_v5/page-10.png","work/product_manual/qa_v5/page-11.png","work/product_manual/qa_v5/page-12.png","work/product_manual/qa_v5/page-13.png","work/product_manual/qa_v5/page-14.png","work/product_manual/qa_v5/page-15.png","work/product_manual/qa_v5/page-16.png","work/product_manual/qa_v5/page-17.png","work/product_manual/qa_v5/page-18.png","work/product_manual/qa_v5/page-19.png","work/product_manual/qa_v5/page-2.png","work/product_manual/qa_v5/page-20.png","work/product_manual/qa_v5/page-21.png","work/product_manual/qa_v5/page-22.png","work/product_manual/qa_v5/page-23.png","work/product_manual/qa_v5/page-24.png","work/product_manual/qa_v5/page-25.png","work/product_manual/qa_v5/page-26.png","work/product_manual/qa_v5/page-27.png","work/product_manual/qa_v5/page-28.png","work/product_manual/qa_v5/page-3.png","work/product_manual/qa_v5/page-4.png","work/product_manual/qa_v5/page-5.png","work/product_manual/qa_v5/page-6.png","work/product_manual/qa_v5/page-7.png","work/product_manual/qa_v5/page-8.png","work/product_manual/qa_v5/page-9.png","work/product_manual/qa_v6/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v6/page-1.png","work/product_manual/qa_v6/page-10.png","work/product_manual/qa_v6/page-11.png","work/product_manual/qa_v6/page-12.png","work/product_manual/qa_v6/page-13.png","work/product_manual/qa_v6/page-14.png","work/product_manual/qa_v6/page-15.png","work/product_manual/qa_v6/page-16.png","work/product_manual/qa_v6/page-17.png","work/product_manual/qa_v6/page-18.png","work/product_manual/qa_v6/page-19.png","work/product_manual/qa_v6/page-2.png","work/product_manual/qa_v6/page-20.png","work/product_manual/qa_v6/page-21.png","work/product_manual/qa_v6/page-22.png","work/product_manual/qa_v6/page-23.png","work/product_manual/qa_v6/page-24.png","work/product_manual/qa_v6/page-25.png","work/product_manual/qa_v6/page-26.png","work/product_manual/qa_v6/page-27.png","work/product_manual/qa_v6/page-28.png","work/product_manual/qa_v6/page-3.png","work/product_manual/qa_v6/page-4.png","work/product_manual/qa_v6/page-5.png","work/product_manual/qa_v6/page-6.png","work/product_manual/qa_v6/page-7.png","work/product_manual/qa_v6/page-8.png","work/product_manual/qa_v6/page-9.png","work/product_manual/qa_v7/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v7/page-1.png","work/product_manual/qa_v7/page-10.png","work/product_manual/qa_v7/page-11.png","work/product_manual/qa_v7/page-12.png","work/product_manual/qa_v7/page-13.png","work/product_manual/qa_v7/page-14.png","work/product_manual/qa_v7/page-15.png","work/product_manual/qa_v7/page-16.png","work/product_manual/qa_v7/page-17.png","work/product_manual/qa_v7/page-18.png","work/product_manual/qa_v7/page-19.png","work/product_manual/qa_v7/page-2.png","work/product_manual/qa_v7/page-20.png","work/product_manual/qa_v7/page-21.png","work/product_manual/qa_v7/page-22.png","work/product_manual/qa_v7/page-23.png","work/product_manual/qa_v7/page-24.png","work/product_manual/qa_v7/page-25.png","work/product_manual/qa_v7/page-26.png","work/product_manual/qa_v7/page-27.png","work/product_manual/qa_v7/page-28.png","work/product_manual/qa_v7/page-3.png","work/product_manual/qa_v7/page-4.png","work/product_manual/qa_v7/page-5.png","work/product_manual/qa_v7/page-6.png","work/product_manual/qa_v7/page-7.png","work/product_manual/qa_v7/page-8.png","work/product_manual/qa_v7/page-9.png","work/product_manual/qa_v8/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v8/page-1.png","work/product_manual/qa_v8/page-10.png","work/product_manual/qa_v8/page-11.png","work/product_manual/qa_v8/page-12.png","work/product_manual/qa_v8/page-13.png","work/product_manual/qa_v8/page-14.png","work/product_manual/qa_v8/page-15.png","work/product_manual/qa_v8/page-16.png","work/product_manual/qa_v8/page-17.png","work/product_manual/qa_v8/page-18.png","work/product_manual/qa_v8/page-19.png","work/product_manual/qa_v8/page-2.png","work/product_manual/qa_v8/page-20.png","work/product_manual/qa_v8/page-21.png","work/product_manual/qa_v8/page-22.png","work/product_manual/qa_v8/page-23.png","work/product_manual/qa_v8/page-24.png","work/product_manual/qa_v8/page-25.png","work/product_manual/qa_v8/page-26.png","work/product_manual/qa_v8/page-27.png","work/product_manual/qa_v8/page-28.png","work/product_manual/qa_v8/page-3.png","work/product_manual/qa_v8/page-4.png","work/product_manual/qa_v8/page-5.png","work/product_manual/qa_v8/page-6.png","work/product_manual/qa_v8/page-7.png","work/product_manual/qa_v8/page-8.png","work/product_manual/qa_v8/page-9.png","work/product_manual/qa_v9/Digital_Employee_OS_产品说明书_V1.0.pdf","work/product_manual/qa_v9/page-1.png","work/product_manual/qa_v9/page-10.png","work/product_manual/qa_v9/page-11.png","work/product_manual/qa_v9/page-12.png","work/product_manual/qa_v9/page-13.png","work/product_manual/qa_v9/page-14.png","work/product_manual/qa_v9/page-15.png","work/product_manual/qa_v9/page-16.png","work/product_manual/qa_v9/page-17.png","work/product_manual/qa_v9/page-18.png","work/product_manual/qa_v9/page-19.png","work/product_manual/qa_v9/page-2.png","work/product_manual/qa_v9/page-20.png","work/product_manual/qa_v9/page-21.png","work/product_manual/qa_v9/page-22.png","work/product_manual/qa_v9/page-23.png","work/product_manual/qa_v9/page-24.png","work/product_manual/qa_v9/page-25.png","work/product_manual/qa_v9/page-26.png","work/product_manual/qa_v9/page-27.png","work/product_manual/qa_v9/page-28.png","work/product_manual/qa_v9/page-29.png","work/product_manual/qa_v9/page-3.png","work/product_manual/qa_v9/page-30.png","work/product_manual/qa_v9/page-4.png","work/product_manual/qa_v9/page-5.png","work/product_manual/qa_v9/page-6.png","work/product_manual/qa_v9/page-7.png","work/product_manual/qa_v9/page-8.png","work/product_manual/qa_v9/page-9.png","work/product_manual/render_with_cjk_font.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","governance.registry.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/job.ts","packages/contracts/src/runtime.ts","packages/contracts/src/work.test.ts","reports/agent-adapters.latest.json","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":"55b9c2a0af78b6998bac3614dedc7187e37057ea","message":"merge: 汇合远端治理修复轮(PR #1/#2/#3,e4b6a5e..c0ed754)与本地 C45–C68 大波次\n\n冲突决议(24 文件):\n- reports/baseline:取本地 08-22 棘轮(458 tests / 66 files / 456 cases / 19×2 UI,为远端严格超集)\n- jobs.processor / work.module / queue.ts(fastify):取本地 C26 JobIntent 同事务链(远端 commit 后 queue.add + defaultJobOptions 兜底已被结构性取代;嫁接远端 Redis db NaN 守卫到 Fastify 侧保持双后端对等)\n- roles.service ×2:取本地 C42 审计事务版 + 嫁接远端 RoleAssignmentDto 返回类型接线(PR #3 拍板资产)\n- page.tsx:取本地 C53 会话身份(auth-identity testid,Playwright 依赖)\n- check-ui-acceptance:本地 OIDC 编排 + 远端 F8 注释并集\n- CLAUDE.md:本地 C45–C68 动态区为基底,嫁接远端 F8 行、五层 CI 假红叙事、结果裁决角色闸(G8 ⑫)、own-tests git-tracked 口径注记,快照更新为两远端对齐 c0ed754(run 32380591807 绿)\n\n编号撞号收口:两条时间线独立分配了 C25/C26/C1——远端线三个战役重编号为 C69(runner 自含 contracts 构建 + F8)/ C70(地板采集只认 git 已跟踪)/ C71(队列双注册策略显式化),经验库标题、脚本注释、测试注释同步改引;本地 C25(迟到成功)/C26(JobIntent)/C1(check-naming)编号不变。\n\n合并树证据:静态 pnpm check 全绿(Node 22,本地 dirty 工作区 2026-08-22);双后端 UI 聚合 38/38 绿(伙伴会话实跑,指纹绑定本合并内容)。合并提交自身的远端 CI 以 headSha 定位的 run 为准。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/55b9c2a0af78b6998bac3614dedc7187e37057ea","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:10:56-07:00","added":[],"removed":["apps/api-fastify/pnpm-lock.yaml","apps/api-nestjs/pnpm-lock.yaml","apps/web/pnpm-lock.yaml"],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/learning.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/learning/learning.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/web/src/app/layout.tsx","apps/web/src/store/useAppStore.ts","docs/README.md","docs/adr/README.md","docs/governance-experience.md","docs/migration-playbook.md","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/learning.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/tenant.ts","packages/contracts/tsconfig.json","scripts/check-contract-consumers.mjs","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.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":1901,"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-21T23:43:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
5
|
1787411590
|
1787411987
|
0
|
1787411590
|
1787411987
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23509
|
feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果 feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)...
|
76
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
c0ed7540c137f2a6828d24503a4c396156996f33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","after":"c0ed7540c137f2a6828d24503a4c396156996f33","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/e4b6a5e4925ba1a7234be9035af63c53fd77b945...c0ed7540c137f2a6828d24503a4c396156996f33","commits":[{"id":"c0ed7540c137f2a6828d24503a4c396156996f33","message":"feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)\n\n三项 2026-08-20 拍板:① HTTP /api/jobs kind 值域收窄为 HTTP_ENQUEUEABLE_JOB_KINDS\n(内部作业 analysis/outcome.expire 入口即 400,消费门禁断言升级并负向验证);\n② 结果裁决角色闸 canResolveOutcome 单源(outcome confirm/dispute/attribution 收口\napprover/admin,判责矩阵与 approve 完全对等,G8 ⑥);③ /api/roles list/upsert 返回\n接线 contracts RoleAssignmentDto。另含发布快照推进 cf68476 与合并插坏段落修复。\n\n本地全链(2026-08-20):pnpm check exit 0 · check:runtime 378/378(地板 370→378)·\ncheck:ui 14/14。PR CI:头 cec3cd5 run 32375879119 两 job 全绿(2395bfb 的 run #16 红\n为 G18 已档收尾偶发——378 测试全过仅 Fastify auth.rs256 收尾 TCP 未处理拒绝,\n等价复跑即绿,判责档案见 CLAUDE.md G18)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c0ed7540c137f2a6828d24503a4c396156996f33","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T07:30:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/tenant.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs"]},{"id":"cf684760ca7c7d1580ffd27e4ab28726ab8a7636","message":"fix(build): 串行化双 app prisma:generate——U6 竞态在本仓 CI 首次实锤(run #13)(#2)\n\nturbo 包级依赖 api-fastify#prisma:generate → api-nestjs#prisma:generate 全局串行化,\n消除共享 .prisma/client 输出的并行写坏竞态(main run #13 红盘根因,playbook U6)。\nPR merge-ref CI 两 job 全绿(run 32372272135)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/cf684760ca7c7d1580ffd27e4ab28726ab8a7636","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T06:14:00-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/migration-playbook.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","turbo.json"]},{"id":"24eee9a94b903d2e24cf965a081eb8c38a0158e3","message":"fix(build): 串行化双 app prisma:generate——U6 竞态在本仓 CI 首次实锤(run #13)\n\nmerge 9f94390(PR #1)后的 main push run #13 红:两 app 的 prisma generate 被\nturbo 并行执行,共享输出 node_modules/.prisma/client/default.js 被写坏\n(default.js:5 SyntaxError: Unexpected token ')',NestJS 21 个测试套件加载即灭)。\n同一棵树半小时前在 PR merge-ref 全绿(run 32360248617)——纯概率性竞态,\n正是 playbook U6 预记的形态(上游实锤过,本仓 CI 首中)。\n\n修复(U6 自记的长期解法):turbo.json 增包级任务依赖\n api-fastify#prisma:generate dependsOn api-nestjs#prisma:generate\n全局串行化(CI / 本地 / 任何调用方同治),不改各包脚本与开发用法。\n\n验证:pnpm prisma:generate 连跑 3 次,两 generate 严格先后执行,\ndefault.js 每次 node --check 解析干净;pnpm check 静态全绿。\n回灌:playbook U6 补本仓实锤与已落地解法;CLAUDE.md 发布快照补 run #13 判责一笔。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01SPyuoU3B2ecKWLUDp1ogF4\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/24eee9a94b903d2e24cf965a081eb8c38a0158e3","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-08-20T13:04:20Z","added":[],"removed":[],"modified":["CLAUDE.md","docs/migration-playbook.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","turbo.json"]},{"id":"9f94390ac23dee9c3055f9d1d7ab4bca93f50ffa","message":"fix(governance): 全面治理修复——C25/C26/F8 + 文档真源回灌 + 对等修正与新断言 (#1)\n\n体检 → 修复 → 三轮与 main 汇合的完整治理轮。合并树实测:pnpm check exit 0 ·\ncheck:runtime 370/370 · check:ui 14/14;PR merge-ref CI 两 job 全绿(run 32360248617)。\n含 C26(棘轮地板采集只认 git 已跟踪文件)的唯一根因修复。详见 PR #1 描述与\ndocs/governance-experience.md C25/C26 战役记录。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9f94390ac23dee9c3055f9d1d7ab4bca93f50ffa","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T05:53:19-07:00","added":[],"removed":["apps/api-fastify/pnpm-lock.yaml","apps/api-nestjs/pnpm-lock.yaml","apps/web/pnpm-lock.yaml"],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/learning.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/learning/learning.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/store/useAppStore.ts","docs/README.md","docs/adr/README.md","docs/governance-experience.md","docs/migration-playbook.md","packages/contracts/package.json","packages/contracts/src/index.ts","packages/contracts/src/learning.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/tenant.ts","packages/contracts/tsconfig.json","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"c22c7bcdbc589842e356b7a3ed3a7fc8fc9dc76b","message":"merge: 汇合 main 技能目录治理特性轮(5e00445..e4b6a5e)——三方合并全链绿\n\n冲突解决(并集原则):\n- 发布快照/证据行:取 main「第二次全绿 run 32355865911」事实 + 本轮「参数以 report\n 为准」纪律 + 补记 run #8 C26 判责;数字按合并树实测(54/363/370/14)\n- baseline 表:fork-readiness 取本轮 F8 版;agent-adapters(G21 闭环新门禁)取 main;\n own-tests/own-test-cases 取 C26 口径注记 + 合并树实测值\n- 缺口索引:C25/C26(本轮)与 G21(main)并集;G21 OPEN 段随 main 删除\n- 经验库:C25/C26 战役(本轮)+ G21 战役(main)并集\n- reports/baseline 合并后全链重跑再生成\n\n合并树验证(2026-08-20,基座重启后实跑):pnpm check exit 0(含 agent-adapters 新门禁 +\nC26 跟踪计数)· check:runtime 370/370(地板 368→370)· check:ui 14/14(地板 11→14)·\ngovernance 53→54/349→363 · 终检 exit 0\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01SPyuoU3B2ecKWLUDp1ogF4\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c22c7bcdbc589842e356b7a3ed3a7fc8fc9dc76b","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-08-20T10:42:36Z","added":[".agents/skills/business-module-intake/SKILL.md","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/skills.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/workbench/SkillPicker.tsx","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/fullstack-7layer-react/SKILL.md","CLAUDE.md","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/learning.concurrency.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/learning.concurrency.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/JobsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/StateBadge.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"c0ed7540c137f2a6828d24503a4c396156996f33","message":"feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)\n\n三项 2026-08-20 拍板:① HTTP /api/jobs kind 值域收窄为 HTTP_ENQUEUEABLE_JOB_KINDS\n(内部作业 analysis/outcome.expire 入口即 400,消费门禁断言升级并负向验证);\n② 结果裁决角色闸 canResolveOutcome 单源(outcome confirm/dispute/attribution 收口\napprover/admin,判责矩阵与 approve 完全对等,G8 ⑥);③ /api/roles list/upsert 返回\n接线 contracts RoleAssignmentDto。另含发布快照推进 cf68476 与合并插坏段落修复。\n\n本地全链(2026-08-20):pnpm check exit 0 · check:runtime 378/378(地板 370→378)·\ncheck:ui 14/14。PR CI:头 cec3cd5 run 32375879119 两 job 全绿(2395bfb 的 run #16 红\n为 G18 已档收尾偶发——378 测试全过仅 Fastify auth.rs256 收尾 TCP 未处理拒绝,\n等价复跑即绿,判责档案见 CLAUDE.md G18)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c0ed7540c137f2a6828d24503a4c396156996f33","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T07:30:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/tenant.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1591,"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-20T18:03: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
|
8
|
1787327001
|
1787327074
|
0
|
1787326999
|
1787327074
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|