|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
23959
|
feat(service): add notification delivery and devic feat(service): add notification delivery and device reference projection...
|
81
|
5
|
governance.yml
|
8
|
5
|
0
|
refs/heads/main
|
2085f1a31a52687344dd74911761be941a185b3c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"466e9752ba0f670d790b5134ff2d12e5b0e974ea","after":"2085f1a31a52687344dd74911761be941a185b3c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/466e9752ba0f670d790b5134ff2d12e5b0e974ea...2085f1a31a52687344dd74911761be941a185b3c","commits":[{"id":"2085f1a31a52687344dd74911761be941a185b3c","message":"feat(service): add notification delivery and device reference projection\n\n- notification delivery: new service-operations delivery path with\n service_notification_intents migration and integration tests on both backends\n- device reference projection: consume device-cloud reference contract\n via new packages/contracts/src/device-cloud.ts and projection migration\n- publish juhai-service-os-product 0.3.0 and refresh product/manifest locks\n- extend check-dual-backend-parity gate; refresh reports evidence\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/2085f1a31a52687344dd74911761be941a185b3c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:09-07:00","added":["apps/api-fastify/prisma/migrations/20260831120000_service_notification_intents/migration.sql","apps/api-fastify/prisma/migrations/20260901120000_device_reference_projection/migration.sql","apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-fastify/test/notification-delivery.integration.test.ts","apps/api-nestjs/prisma/migrations/20260831120000_service_notification_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260901120000_device_reference_projection/migration.sql","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","apps/api-nestjs/test/notification-delivery.integration.test.ts","artifacts/os-products/juhai-service-os-product-0.3.0.tgz","packages/contracts/src/device-cloud.test.ts","packages/contracts/src/device-cloud.ts","packages/contracts/src/notification.test.ts","packages/contracts/src/notification.ts","packages/notification-delivery/README.md","packages/notification-delivery/package.json","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts","packages/notification-delivery/tsconfig.json","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/service-cases/service-cases.service.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-nestjs/.env.example","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","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/test/http.acceptance.test.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/web/tsconfig.json","artifacts/os-products/juhai-service-os-product.lock.json","docs/domain/digital-employee-os-product-blueprint.md","docs/domain/owner-matrix.md","docs/domain/service-case-blueprint.md","docs/domain/service-operations-blueprint.md","docs/governance-experience.md","os-products/juhai.service/manifest.json","os-products/juhai.service/package.json","os-products/juhai.service/product.lock.json","package.json","packages/contracts/src/index.ts","packages/contracts/tsconfig.json","packages/service-contracts/src/service-case.ts","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/mobile-delivery.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-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"2085f1a31a52687344dd74911761be941a185b3c","message":"feat(service): add notification delivery and device reference projection\n\n- notification delivery: new service-operations delivery path with\n service_notification_intents migration and integration tests on both backends\n- device reference projection: consume device-cloud reference contract\n via new packages/contracts/src/device-cloud.ts and projection migration\n- publish juhai-service-os-product 0.3.0 and refresh product/manifest locks\n- extend check-dual-backend-parity gate; refresh reports evidence\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/2085f1a31a52687344dd74911761be941a185b3c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:09-07:00","added":["apps/api-fastify/prisma/migrations/20260831120000_service_notification_intents/migration.sql","apps/api-fastify/prisma/migrations/20260901120000_device_reference_projection/migration.sql","apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-fastify/test/notification-delivery.integration.test.ts","apps/api-nestjs/prisma/migrations/20260831120000_service_notification_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260901120000_device_reference_projection/migration.sql","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","apps/api-nestjs/test/notification-delivery.integration.test.ts","artifacts/os-products/juhai-service-os-product-0.3.0.tgz","packages/contracts/src/device-cloud.test.ts","packages/contracts/src/device-cloud.ts","packages/contracts/src/notification.test.ts","packages/contracts/src/notification.ts","packages/notification-delivery/README.md","packages/notification-delivery/package.json","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts","packages/notification-delivery/tsconfig.json","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/service-cases/service-cases.service.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-nestjs/.env.example","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","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/test/http.acceptance.test.ts","apps/api-nestjs/test/service-cases.integration.test.ts","apps/web/tsconfig.json","artifacts/os-products/juhai-service-os-product.lock.json","docs/domain/digital-employee-os-product-blueprint.md","docs/domain/owner-matrix.md","docs/domain/service-case-blueprint.md","docs/domain/service-operations-blueprint.md","docs/governance-experience.md","os-products/juhai.service/manifest.json","os-products/juhai.service/package.json","os-products/juhai.service/product.lock.json","package.json","packages/contracts/src/index.ts","packages/contracts/tsconfig.json","packages/service-contracts/src/service-case.ts","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/mobile-delivery.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-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.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":3041,"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-27T16:51: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
|
1789441171
|
1789441179
|
0
|
1789440859
|
1789441181
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24165
|
fix(service): 通知投递未知异常不再默认重试,并显式传重试上限
|
81
|
5
|
governance.yml
|
9
|
5
|
0
|
refs/heads/main
|
cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2085f1a31a52687344dd74911761be941a185b3c","after":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/2085f1a31a52687344dd74911761be941a185b3c...cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","commits":[{"id":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","message":"fix(service): 通知投递未知异常不再默认重试,并显式传重试上限\n\n两处与同名包在其余消费仓的语义漂移:\n\n- packages/notification-delivery:decideNotificationFailure 对非 NotificationDeliveryError 的\n 异常默认 retryable=true。模板体检失败(assertRegisteredNotificationTemplate 在 try 内)这类\n 确定性错误因此会白烧三次重试预算才进死信。改为只有投递层明确标了可重试才重试。\n- 同批补 NotificationTemplateError 的消息分支:缺它时 lastError 会把模板错误写成\n 「NOTIFICATION_PROVIDER_UNAVAILABLE」,运维照着这条记录去查供应商,查不到任何东西。\n- 两后端 decideNotificationFailure 显式传 maxAttempts: MAX_ATTEMPTS。此前领取查询用本地常数 3、\n 死信判定用包默认 3,靠巧合对齐,改任一边即静默不一致。\n\n验证:typecheck 绿;包单测 5/5(新增未知异常与模板错误两条断言);dual-backend /\nconcurrency-guard / migrations / governance-docs / docs-truth / mobile / provenance 逐道绿。\ncheck:os-product 红,与本次无关:它按 ../Digital Employee OS 找 OS 仓(该路径已不存在),指到真实\n路径后卡在锁定的 OS 基线 SHA,本次改动前即如此。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:35-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","message":"fix(service): 通知投递未知异常不再默认重试,并显式传重试上限\n\n两处与同名包在其余消费仓的语义漂移:\n\n- packages/notification-delivery:decideNotificationFailure 对非 NotificationDeliveryError 的\n 异常默认 retryable=true。模板体检失败(assertRegisteredNotificationTemplate 在 try 内)这类\n 确定性错误因此会白烧三次重试预算才进死信。改为只有投递层明确标了可重试才重试。\n- 同批补 NotificationTemplateError 的消息分支:缺它时 lastError 会把模板错误写成\n 「NOTIFICATION_PROVIDER_UNAVAILABLE」,运维照着这条记录去查供应商,查不到任何东西。\n- 两后端 decideNotificationFailure 显式传 maxAttempts: MAX_ATTEMPTS。此前领取查询用本地常数 3、\n 死信判定用包默认 3,靠巧合对齐,改任一边即静默不一致。\n\n验证:typecheck 绿;包单测 5/5(新增未知异常与模板错误两条断言);dual-backend /\nconcurrency-guard / migrations / governance-docs / docs-truth / mobile / provenance 逐道绿。\ncheck:os-product 红,与本次无关:它按 ../Digital Employee OS 找 OS 仓(该路径已不存在),指到真实\n路径后卡在锁定的 OS 基线 SHA,本次改动前即如此。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:35-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"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":3362,"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-09-15T10:54:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789772913
|
1789772921
|
0
|
1789772844
|
1789772921
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24404
|
feat(notification): add platform delivery consumer
|
81
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
066afd0a04f4765ee9a8aefae9f2eb8272bb88b2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd","after":"066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/cc4e7d4da3cd396ee608a41307d2b9a496b8d3dd...066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","commits":[{"id":"066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","message":"feat(notification): add platform delivery consumer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T06:19:55-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md"],"removed":[],"modified":["apps/api-fastify/.env.example","apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","docs/domain/owner-matrix.md","docs/domain/service-case-blueprint.md","packages/notification-delivery/README.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},{"id":"1cebe527600912193f7e672fb478ae39a84db7ae","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-after-sales-service-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-after-sales-service-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1cebe527600912193f7e672fb478ae39a84db7ae","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:31-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","message":"feat(notification): add platform delivery consumer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T06:19:55-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md"],"removed":[],"modified":["apps/api-fastify/.env.example","apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/service-operations/notification-delivery.service.ts","docs/domain/owner-matrix.md","docs/domain/service-case-blueprint.md","packages/notification-delivery/README.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"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":3377,"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-09-19T07:07: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
|
1790170637
|
1790170645
|
0
|
1790170042
|
1790170647
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24408
|
docs(notification): record real platform acceptanc docs(notification): record real platform acceptance...
|
81
|
5
|
governance.yml
|
11
|
5
|
0
|
refs/heads/main
|
3ece79dcc83c32531df95129cd9d687bb66fe66b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"066afd0a04f4765ee9a8aefae9f2eb8272bb88b2","after":"3ece79dcc83c32531df95129cd9d687bb66fe66b","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/066afd0a04f4765ee9a8aefae9f2eb8272bb88b2...3ece79dcc83c32531df95129cd9d687bb66fe66b","commits":[{"id":"3ece79dcc83c32531df95129cd9d687bb66fe66b","message":"docs(notification): record real platform acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/3ece79dcc83c32531df95129cd9d687bb66fe66b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:00:29-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]}],"total_commits":0,"head_commit":{"id":"3ece79dcc83c32531df95129cd9d687bb66fe66b","message":"docs(notification): record real platform acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/3ece79dcc83c32531df95129cd9d687bb66fe66b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:00:29-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]},"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":3409,"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-09-23T21:27: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
|
6
|
1790172106
|
1790172115
|
0
|
1790172104
|
1790172115
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24412
|
docs(notification): bind final acceptance evidence
|
81
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
f9b7f72b3d2b5f187feed06c1b681fefb6466ab7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3ece79dcc83c32531df95129cd9d687bb66fe66b","after":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/3ece79dcc83c32531df95129cd9d687bb66fe66b...f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","commits":[{"id":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","message":"docs(notification): bind final acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:15:08-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]}],"total_commits":0,"head_commit":{"id":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","message":"docs(notification): bind final acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:15:08-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]},"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":3412,"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-09-23T22:01:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1790172975
|
1790172982
|
0
|
1790172929
|
1790172984
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26140
|
docs: add independent application system atlas and docs: add independent application system atlas and editable Mermaid source...
|
81
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
377aecc6a8dd6724c301330118103b63c62a313a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","after":"377aecc6a8dd6724c301330118103b63c62a313a","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7...377aecc6a8dd6724c301330118103b63c62a313a","commits":[{"id":"377aecc6a8dd6724c301330118103b63c62a313a","message":"docs: add independent application system atlas and editable Mermaid source\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/377aecc6a8dd6724c301330118103b63c62a313a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-19T22:10:44-07:00","added":["docs/system-atlas/系统图册.html","docs/system-atlas/系统图册.md"],"removed":[],"modified":["README.md"]}],"total_commits":0,"head_commit":{"id":"377aecc6a8dd6724c301330118103b63c62a313a","message":"docs: add independent application system atlas and editable Mermaid source\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/377aecc6a8dd6724c301330118103b63c62a313a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-19T22:10:44-07:00","added":["docs/system-atlas/系统图册.html","docs/system-atlas/系统图册.md"],"removed":[],"modified":["README.md"]},"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":3463,"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":2,"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-10-16T10:15: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
|
6
|
1792473074
|
1792473165
|
0
|
1792473073
|
1792473167
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26170
|
docs(governance): bind verified consumer and immut docs(governance): bind verified consumer and immutable host acceptance...
|
81
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
1e81de7235f94c7fbebf0387212b2bb69b8f03ce
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"377aecc6a8dd6724c301330118103b63c62a313a","after":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/377aecc6a8dd6724c301330118103b63c62a313a...1e81de7235f94c7fbebf0387212b2bb69b8f03ce","commits":[{"id":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","message":"docs(governance): bind verified consumer and immutable host acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1e81de7235f94c7fbebf0387212b2bb69b8f03ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:27:07-07:00","added":["reports/governance-kit-migration.latest.json","reports/governance-kit.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},{"id":"cea01654c4d7cb89b59f79b1c1a9070f10205181","message":"fix(acceptance): align pinned worker artifact and preserve UI failure diagnostics\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/cea01654c4d7cb89b59f79b1c1a9070f10205181","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:17:32-07:00","added":[],"removed":[],"modified":["docs/enterprise/acceptance.md","docs/governance-kit-027-migration.md","packages/enterprise-integration/governance/enterprise-integration.json","scripts/check-ui-acceptance.mjs"]},{"id":"8d43c62f3d8cdc8b9eb3bf1c93c66c82aa0f3ac7","message":"test(host): support verified immutable source checkouts without re-pinning contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/8d43c62f3d8cdc8b9eb3bf1c93c66c82aa0f3ac7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:05:54-07:00","added":["packages/enterprise-integration/test/enterprise-host/source-roots.mjs","scripts/lib/enterprise-host-roots.test.mjs"],"removed":[],"modified":["docs/enterprise/README.md","docs/governance-kit-027-migration.md","package.json","packages/enterprise-integration/test/enterprise-host/execution-return.host.test.mjs","packages/enterprise-integration/test/enterprise-host/platform-access.host.test.mjs"]},{"id":"2dcbd0abeda6fd4ec031118a2464b35320fc2575","message":"fix(acceptance): build runtime workspace dependencies in clean checkouts\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/2dcbd0abeda6fd4ec031118a2464b35320fc2575","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T00:57:02-07:00","added":[],"removed":[],"modified":["README.md","docs/governance-kit-027-migration.md","scripts/check-runtime-acceptance.mjs"]},{"id":"c88eb718afaa34a639da5d0074ed723aa23eeb75","message":"fix(build): build local contracts before mobile static export\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/c88eb718afaa34a639da5d0074ed723aa23eeb75","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T00:53:16-07:00","added":[],"removed":[],"modified":["README.md","docs/governance-kit-027-migration.md","scripts/build-mobile-web.mjs"]}],"total_commits":0,"head_commit":{"id":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","message":"docs(governance): bind verified consumer and immutable host acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1e81de7235f94c7fbebf0387212b2bb69b8f03ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:27:07-07:00","added":["reports/governance-kit-migration.latest.json","reports/governance-kit.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},"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":3498,"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":3,"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-10-20T14:21:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792485184
|
1792485193
|
0
|
1792485184
|
1792485194
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26389
|
docs(evidence): preserve native logs and bounded S docs(evidence): preserve native logs and bounded SDK migration result...
|
81
|
5
|
governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
9b15c727af11e838df8fab373a8c94486a20e716
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","after":"9b15c727af11e838df8fab373a8c94486a20e716","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/1e81de7235f94c7fbebf0387212b2bb69b8f03ce...9b15c727af11e838df8fab373a8c94486a20e716","commits":[{"id":"9b15c727af11e838df8fab373a8c94486a20e716","message":"docs(evidence): preserve native logs and bounded SDK migration result\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/9b15c727af11e838df8fab373a8c94486a20e716","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T16:42:59-07:00","added":["reports/kernel-027-migration.latest.json"],"removed":[],"modified":[]},{"id":"6ddecb094df78413fecdc98bef9f2fa8c9ca4cdf","message":"docs(evidence): bind SDK 0.27 migration to clean native static runtime UI and fixed host tests\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/6ddecb094df78413fecdc98bef9f2fa8c9ca4cdf","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T16:42:26-07:00","added":["reports/kernel-consumer-migration.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},{"id":"93ce0f0d39322e17f4c37be7e02c0f220ca87a68","message":"chore(kernel): migrate context SDK to exact published 0.27.0 with native adapter contract\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/93ce0f0d39322e17f4c37be7e02c0f220ca87a68","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T16:31:52-07:00","added":["governance/framework-consumer.json","reports/kernel-027-migration-plan-2026-10-23.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/src/plugins/request-context.ts","apps/api-nestjs/package.json","apps/api-nestjs/src/common/request-context.ts","apps/web/e2e/acceptance.spec.ts","docs/enterprise/README.md","docs/enterprise/integration-matrix.md","docs/enterprise/login.md","docs/framework-migration.md","packages/contracts/src/enterprise-integration.ts","packages/enterprise-integration/governance/enterprise-integration.json","packages/enterprise-integration/package.json","packages/enterprise-integration/src/http.test.ts","packages/enterprise-integration/src/request-context.test.ts","packages/enterprise-integration/src/request-context.ts","packages/enterprise-integration/src/status.ts","pnpm-lock.yaml","scripts/check-enterprise-integration.mjs"]}],"total_commits":0,"head_commit":{"id":"9b15c727af11e838df8fab373a8c94486a20e716","message":"docs(evidence): preserve native logs and bounded SDK migration result\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/9b15c727af11e838df8fab373a8c94486a20e716","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T16:42:59-07:00","added":["reports/kernel-027-migration.latest.json"],"removed":[],"modified":[]},"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":3986,"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":3,"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-10-20T16:33:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792798983
|
1792798992
|
0
|
1792798982
|
1792798993
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26422
|
docs(evidence): bind D3 pilot to clean full native docs(evidence): bind D3 pilot to clean full native acceptance...
|
81
|
5
|
governance.yml
|
16
|
5
|
0
|
refs/heads/main
|
22d527e8a8a225133ba6965af33c33d69f7b7d0c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9b15c727af11e838df8fab373a8c94486a20e716","after":"22d527e8a8a225133ba6965af33c33d69f7b7d0c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/9b15c727af11e838df8fab373a8c94486a20e716...22d527e8a8a225133ba6965af33c33d69f7b7d0c","commits":[{"id":"22d527e8a8a225133ba6965af33c33d69f7b7d0c","message":"docs(evidence): bind D3 pilot to clean full native acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/22d527e8a8a225133ba6965af33c33d69f7b7d0c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T22:27:26-07:00","added":["reports/d3-convergence.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},{"id":"38aa62841ed9ab64f7a70322bf99fed6d6b8a1a8","message":"docs(d3): record fixed pilot results and staged rollout boundary\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/38aa62841ed9ab64f7a70322bf99fed6d6b8a1a8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T22:20:59-07:00","added":[],"removed":[],"modified":["docs/nestjs-convergence.md"]},{"id":"50e8056876d3dc0accd78f6ee6cce0af7a75104c","message":"feat(d3): converge service pilot on NestJS with FastifyAdapter\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/50e8056876d3dc0accd78f6ee6cce0af7a75104c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T22:09:23-07:00","added":["backend-profile.json","docs/evidence/nestjs-convergence-2026-10-23/before-baseline.json","docs/evidence/nestjs-convergence-2026-10-23/before-runtime.json","docs/evidence/nestjs-convergence-2026-10-23/test-crosswalk.json","docs/nestjs-convergence.md","scripts/lib/backend-profile.mjs","scripts/lib/backend-profile.test.mjs"],"removed":["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/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/prisma/migrations/20260825190000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/20260825210000_event_delivery_operations/migration.sql","apps/api-fastify/prisma/migrations/20260831120000_service_notification_intents/migration.sql","apps/api-fastify/prisma/migrations/20260901120000_device_reference_projection/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/service-cases/service-cases.service.ts","apps/api-fastify/src/modules/service-operations/event-delivery.service.ts","apps/api-fastify/src/modules/service-operations/notification-delivery.service.ts","apps/api-fastify/src/modules/service-operations/service-operations.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/os-activation.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/plugins/request-context.ts","apps/api-fastify/src/routes/enterprise.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/service-cases.ts","apps/api-fastify/src/routes/service-operations.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/enterprise-integration.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/notification-delivery.integration.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.tenant.test.ts","apps/api-fastify/test/service-cases.integration.test.ts","apps/api-fastify/test/service-operations.integration.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts"],"modified":["CLAUDE.md","README.md","apps/api-nestjs/package.json","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/enterprise/enterprise.controller.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/test/backend-parity.acceptance.test.ts","apps/api-nestjs/test/health-degraded.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/job-failure.acceptance.test.ts","apps/api-nestjs/test/notification-delivery.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","docs/adr/0009-dual-backend-governance-parity.md","docs/enterprise/README.md","docs/enterprise/contracts.md","docs/enterprise/login.md","docs/standards/backend-standard.md","governance/framework-consumer.json","package.json","packages/enterprise-integration/governance/entity-mapping.json","packages/enterprise-integration/src/entity-mapping.test.ts","packages/enterprise-integration/src/entity-mapping.ts","pnpm-lock.yaml","reports/baseline.json","reports/dual-backend-parity.latest.json","scripts/check-auth-source.mjs","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-enterprise-integration.mjs","scripts/check-migrations.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-os-product.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"22d527e8a8a225133ba6965af33c33d69f7b7d0c","message":"docs(evidence): bind D3 pilot to clean full native acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/22d527e8a8a225133ba6965af33c33d69f7b7d0c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T22:27:26-07:00","added":["reports/d3-convergence.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},"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":4248,"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":3,"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-10-24T07:43:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792819651
|
1792819660
|
0
|
1792819650
|
1792819661
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26441
|
docs(evidence): bind routerOptions fix to clean na docs(evidence): bind routerOptions fix to clean native acceptance at 02543df...
|
81
|
5
|
governance.yml
|
17
|
5
|
0
|
refs/heads/main
|
bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"22d527e8a8a225133ba6965af33c33d69f7b7d0c","after":"bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/22d527e8a8a225133ba6965af33c33d69f7b7d0c...bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","commits":[{"id":"bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","message":"docs(evidence): bind routerOptions fix to clean native acceptance at 02543df\n\nReports-only commit. Receipts from the clean 02543df checkout with\ndedicated PG16/Redis7 containers (removed with -v): Runtime 199/0\n(floor 199), UI 8/0 (floor 8), full static exit 0 (check:enterprise 300,\nownTests 28, ownTestCases counter 172 vs floor 171), enterprise host\n43/0 + guard 6/0. No FSTDEP022 in runtime logs. Local only, no remote CI;\nno deployment/production-acceptance gate exists in this repo.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-24T00:13:18-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},{"id":"02543df1ac1af055c0759a4dc7250181ca3bfaec","message":"fix(d3): pass maxParamLength via routerOptions to keep logs single-line JSON\n\nSame fix as base-framework 7774494: FastifyAdapter({ maxParamLength })\nmakes Fastify 5.12.5 emit FSTDEP022 as plain-text stderr, breaking the\nsingle-line JSON log contract. Move it to routerOptions (limit 256).\n\nNew HTTP acceptance cases (red before fix: FSTDEP022 captured):\n- no FST* process warnings after createApp\n- 200-char route param routes normally, 257-char param returns 414\n (injecting routerOptions: {} turns this case red)\nFloors tightened: testsPassed 197 -\u003e 199, ownTestCases 169 -\u003e 171.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/02543df1ac1af055c0759a4dc7250181ca3bfaec","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-24T00:08:12-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/src/create-app.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/nestjs-convergence.md","docs/standards/backend-standard.md","reports/baseline.json"]},{"id":"1aa178b47e91b992100a4f53cc94063fe2be3c28","message":"docs(evidence): bind D3 residual fix to clean native acceptance at d32384b\n\nReports-only commit. Receipts of pnpm check / check:runtime / check:ui on\nthe clean d32384b checkout (worktreeDirty=false) with dedicated PG16 and\nRedis7 containers removed afterwards: Runtime 197/0 (floor 197), UI 8/0\n(NestJS child floor 8, was hard-coded 4), full static exit 0\n(check:enterprise 300 assertions, ownTests 28 / ownTestCases 169\nunchanged), test:enterprise-host 43/0 + guard 6/0 against the fixed\nhosts. Local acceptance only, no remote CI.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1aa178b47e91b992100a4f53cc94063fe2be3c28","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T23:31:08-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},{"id":"d32384bde40e38cfbe13c6388255d3b753260056","message":"fix(d3): remove dual-backend residuals from governance gates and current docs\n\n- UI child-run floor now derives from backend-profile host count\n (perBackendFloor): NestJS production child must meet the full baseline\n (8), only the framework Kernel two-host profile splits; out-of-profile\n UI_BACKEND fails preflight. test:backend-profile (9 cases) wired into\n pnpm check.\n- check:enterprise counts each fact once: parityFile removed from the 14\n entity mappings (and type/test), assertion messages must be unique,\n source pins are labelled per section, repeated doc link targets checked\n once, frameworkSdk.consumers must equal the active profile consumers\n (apps/api-fastify removed). Count 341 -\u003e 300 = 341 - 14 (parityFile\n duplicates) - 30 (repeated integration-matrix link targets) + 1\n (consumer list equality) + 1 (no parityFile) + 1 (new README link).\n No floor depends on this count.\n- check:docs-truth rule 8 rejects dual-backend wording in current docs,\n agents, skills and .claude/launch.json unless marked historical/compat.\n- launch.json: api-fastify removed, web now proxies api-nestjs 3197,\n web-nestjs merged into web.\n- Current docs/agents/skills/comments rewritten to single NestJS\n (FastifyAdapter), linking docs/nestjs-convergence.md; historical\n records, reports and applied migrations unchanged.\n\nVerified before commit: pnpm check static steps green except\ncheck:governance provenance (runtime/UI receipts must be rerun on this\ncommit); red-before evidence for all three new acceptance checks.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/d32384bde40e38cfbe13c6388255d3b753260056","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T23:25:30-07:00","added":[],"removed":[],"modified":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".github/workflows/governance.yml","CLAUDE.md","README.md","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/enterprise/enterprise.controller.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/test/enterprise-integration.acceptance.test.ts","apps/web/src/lib/api.ts","docs/domain/business-logic-map.md","docs/domain/owner-matrix.md","docs/enterprise/README.md","docs/enterprise/contracts.md","docs/enterprise/login.md","docs/enterprise/platform-access.md","docs/enterprise/task-execution.md","docs/nestjs-convergence.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/git-standard.md","package.json","packages/contracts/src/enterprise-integration.ts","packages/contracts/src/index.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/enterprise-integration/governance/enterprise-integration.json","packages/enterprise-integration/governance/entity-mapping.json","packages/enterprise-integration/src/entity-mapping.test.ts","packages/enterprise-integration/src/entity-mapping.ts","packages/enterprise-integration/src/execution-return.ts","packages/enterprise-integration/src/http.test.ts","packages/enterprise-integration/src/http.ts","packages/enterprise-integration/src/index.ts","packages/enterprise-integration/src/status.ts","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-enterprise-integration.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/backend-profile.mjs","scripts/lib/backend-profile.test.mjs"]}],"total_commits":0,"head_commit":{"id":"bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","message":"docs(evidence): bind routerOptions fix to clean native acceptance at 02543df\n\nReports-only commit. Receipts from the clean 02543df checkout with\ndedicated PG16/Redis7 containers (removed with -v): Runtime 199/0\n(floor 199), UI 8/0 (floor 8), full static exit 0 (check:enterprise 300,\nownTests 28, ownTestCases counter 172 vs floor 171), enterprise host\n43/0 + guard 6/0. No FSTDEP022 in runtime logs. Local only, no remote CI;\nno deployment/production-acceptance gate exists in this repo.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-24T00:13:18-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.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"]},"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":4540,"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":3,"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-10-24T13:27:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792835664
|
1792835754
|
0
|
1792835662
|
1792835754
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26601
|
chore(evidence): record C50/C51 runtime 199 and UI chore(evidence): record C50/C51 runtime 199 and UI 8 on clean 64bb658...
|
81
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
20244490cfc40096f29b48531eca5d3e0d7f19db
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e","after":"20244490cfc40096f29b48531eca5d3e0d7f19db","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/bf6d6773eeef3bcab14c1c2a8845a90bc8b2d38e...20244490cfc40096f29b48531eca5d3e0d7f19db","commits":[{"id":"20244490cfc40096f29b48531eca5d3e0d7f19db","message":"chore(evidence): record C50/C51 runtime 199 and UI 8 on clean 64bb658\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/20244490cfc40096f29b48531eca5d3e0d7f19db","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:24:47-07:00","added":[],"removed":[],"modified":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"64bb658ec69e2d0254b40cd5cb79f3ed28478761","message":"fix(security): adopt framework C50/C51 loopback defaults for listen host and dev data stores\n\nFrom base-framework main 26212ad (2026-10-27):\n- API defaults to 127.0.0.1 when HOST is unset or empty (no container\n image in this repo).\n- Dev base binds PostgreSQL/Redis to 127.0.0.1; Redis host port becomes\n overridable.\n- check:dual-backend gains the listen-default and data-store loopback\n checks (framework compose-ports module, tests in test:governance-kit).\n\nNegative: entry back to 0.0.0.0 and PG without loopback each exit 1;\ngreen after restore.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/64bb658ec69e2d0254b40cd5cb79f3ed28478761","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:16:31-07:00","added":["scripts/lib/compose-ports.mjs","scripts/lib/compose-ports.test.mjs"],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/main.ts","package.json","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"20244490cfc40096f29b48531eca5d3e0d7f19db","message":"chore(evidence): record C50/C51 runtime 199 and UI 8 on clean 64bb658\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/20244490cfc40096f29b48531eca5d3e0d7f19db","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:24:47-07:00","added":[],"removed":[],"modified":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.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":false,"fork":false,"template":false,"mirror":false,"size":4773,"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":3,"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-10-24T17:54: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
|
6
|
1793155049
|
1793155058
|
0
|
1793154335
|
1793155058
|
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
|
|
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
|
|
23962
|
feat(ticket): govern automation configuration prov feat(ticket): govern automation configuration provenance...
|
82
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","after":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45...ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","commits":[{"id":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","message":"feat(ticket): govern automation configuration provenance\n\n- automation: record configuration provenance via new\n automation_configuration_provenance migration and configuration plugin\n- add packages/configuration-client and packages/notification-delivery\n- attachments: align service and package contracts, add package tests\n- web: rework UnifiedCalendarPanel and ticket page acceptance paths\n- add scripts/check-configuration-consumer gate and its evidence report\n- gitignore .codex/ alongside .codex-audit/ (local UX audit screenshots,\n not product source or governance input)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:26-07:00","added":["apps/api-fastify/prisma/migrations/20260901180000_automation_configuration_provenance/migration.sql","apps/api-fastify/src/plugins/configuration.ts","apps/api-nestjs/prisma/migrations/20260901180000_automation_configuration_provenance/migration.sql","apps/api-nestjs/src/automation/automation-configuration.service.ts","design-qa.md","packages/attachments/README.md","packages/attachments/src/index.test.ts","packages/configuration-client/package.json","packages/configuration-client/src/index.test.ts","packages/configuration-client/src/index.ts","packages/configuration-client/tsconfig.json","packages/contracts/src/notification.test.ts","packages/contracts/src/notification.ts","packages/notification-delivery/README.md","packages/notification-delivery/package.json","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts","packages/notification-delivery/tsconfig.json","reports/configuration-consumer.latest.json","scripts/check-configuration-consumer.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","deploy/k8s/README.md","deploy/k8s/base/platform.yaml","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/contracts/src/index.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","reports/agent-workflow-parity.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/identity-boundary.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","reports/write-governance.latest.json","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]}],"total_commits":0,"head_commit":{"id":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","message":"feat(ticket): govern automation configuration provenance\n\n- automation: record configuration provenance via new\n automation_configuration_provenance migration and configuration plugin\n- add packages/configuration-client and packages/notification-delivery\n- attachments: align service and package contracts, add package tests\n- web: rework UnifiedCalendarPanel and ticket page acceptance paths\n- add scripts/check-configuration-consumer gate and its evidence report\n- gitignore .codex/ alongside .codex-audit/ (local UX audit screenshots,\n not product source or governance input)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:26-07:00","added":["apps/api-fastify/prisma/migrations/20260901180000_automation_configuration_provenance/migration.sql","apps/api-fastify/src/plugins/configuration.ts","apps/api-nestjs/prisma/migrations/20260901180000_automation_configuration_provenance/migration.sql","apps/api-nestjs/src/automation/automation-configuration.service.ts","design-qa.md","packages/attachments/README.md","packages/attachments/src/index.test.ts","packages/configuration-client/package.json","packages/configuration-client/src/index.test.ts","packages/configuration-client/src/index.ts","packages/configuration-client/tsconfig.json","packages/contracts/src/notification.test.ts","packages/contracts/src/notification.ts","packages/notification-delivery/README.md","packages/notification-delivery/package.json","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts","packages/notification-delivery/tsconfig.json","reports/configuration-consumer.latest.json","scripts/check-configuration-consumer.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","deploy/k8s/README.md","deploy/k8s/base/platform.yaml","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/contracts/src/index.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","reports/agent-workflow-parity.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/identity-boundary.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","reports/write-governance.latest.json","scripts/check-runtime-acceptance.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":1421,"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-28T18:46:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789441222
|
1789441251
|
0
|
1789440864
|
1789441252
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23974
|
chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提 chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交...
|
82
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
7c4b197f018b02f5ed675758af3f5be5dbd1de02
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7","after":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/ab2e7f155b4fbe2e9bebc1ac4887247efc0e97c7...7c4b197f018b02f5ed675758af3f5be5dbd1de02","commits":[{"id":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 22 份 reports/*.latest.json 无一绑定当前 HEAD,21 份还生成于脏树,\n按证据纪律一律 STALE——当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (ab2e7f1) 上逐条重跑:15 通过 / 3 失败,16 份报告 provenance\n全部 gitSha=ab2e7f1 且 worktreeDirty=false。\n\n三条失败**不是判定失败,是跑不起来**——缺环境变量,属需实例门禁:\n- check-capacity CAPACITY_FASTIFY_URL\n- check-dual-backend-behavior DATABASE_URL + REDIS_URL\n- check-outbox-operations DATABASE_URL\n\n也就是说本仓静态面 15/15 全绿。按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升\n到静态一级;需实例那三条要另起一轮。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/7c4b197f018b02f5ed675758af3f5be5dbd1de02","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:34:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/configuration-consumer.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/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]}],"total_commits":0,"head_commit":{"id":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,证据第一次绑定当前提交\n\n迁移后本仓 22 份 reports/*.latest.json 无一绑定当前 HEAD,21 份还生成于脏树,\n按证据纪律一律 STALE——当前 HEAD 的质量一直是未知数。\n\n本次在 clean HEAD (ab2e7f1) 上逐条重跑:15 通过 / 3 失败,16 份报告 provenance\n全部 gitSha=ab2e7f1 且 worktreeDirty=false。\n\n三条失败**不是判定失败,是跑不起来**——缺环境变量,属需实例门禁:\n- check-capacity CAPACITY_FASTIFY_URL\n- check-dual-backend-behavior DATABASE_URL + REDIS_URL\n- check-outbox-operations DATABASE_URL\n\n也就是说本仓静态面 15/15 全绿。按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升\n到静态一级;需实例那三条要另起一轮。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/7c4b197f018b02f5ed675758af3f5be5dbd1de02","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:34:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/configuration-consumer.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/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.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":1857,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-15T10:54: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
|
1789458993
|
1789459020
|
0
|
1789458921
|
1789459022
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24164
|
fix(ticket): 通知投递补认领凭据与显式重试上限
|
82
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
601955837eb8caa25a91a2c2da96d9a06f8ea455
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7c4b197f018b02f5ed675758af3f5be5dbd1de02","after":"601955837eb8caa25a91a2c2da96d9a06f8ea455","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/7c4b197f018b02f5ed675758af3f5be5dbd1de02...601955837eb8caa25a91a2c2da96d9a06f8ea455","commits":[{"id":"601955837eb8caa25a91a2c2da96d9a06f8ea455","message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/601955837eb8caa25a91a2c2da96d9a06f8ea455","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:27-07:00","added":["apps/api-fastify/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql","apps/api-nestjs/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql"],"removed":[],"modified":["apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"601955837eb8caa25a91a2c2da96d9a06f8ea455","message":"fix(ticket): 通知投递补认领凭据与显式重试上限\n\n领取此前只看 PENDING/FAILED,且完成回写只按 status=\"SENDING\" 匹配:进程崩在 deliver() 里的那行\n会永远停在 SENDING,没有任何路径能把它捡回来。另有一处重试上限双份常数——领取查询没有上限,\n死信判定走的是 @repo/notification-delivery 的包默认 3,两边靠巧合对齐,改任一边即静默不一致。\n\n- notifications 表加 claim_owner / claim_expires_at(两后端各一份 schema 与迁移),领取写认领、\n 完成按 claimOwner 回写并清空,与其余两个消费仓的 claim 列同形。\n- 领取前先把预算烧完的行(含认领过期仍卡在 SENDING 的)扫成死信;领取查询新增「SENDING 且\n 认领已过期」一支,并显式限定 attempts \u003c NOTIFICATION_MAX_ATTEMPTS。\n- 重试上限收敛为一个常数,同时进领取查询、死信清扫和 decideNotificationFailure。\n- 迁移不建索引:本仓迁移红线把非 CONCURRENTLY 的 CREATE INDEX 判为高危 DDL(首版实测被 exit 1\n 拦下),过期 SENDING 那一支由既有 notifications_tenant_status_next_attempt_idx 的\n (tenant_id, status) 前缀服务;要加 (tenant_id, status, claim_expires_at) 须按\n expand→migrate→contract 单独提,不混在这条加列迁移里。\n- packages/notification-delivery:未知异常不再默认可重试(模板体检失败这类确定性错误重发多少次\n 都是同一个结果),并补 NotificationTemplateError 的消息分支——缺它时 lastError 会把模板错误\n 写成「供应商不可用」。与报价仓的同名包语义就此一致。\n\n验证:pnpm check 全绿(15 道静态门禁 + lint + typecheck,含 write-guard / dual-backend /\nmigrations / write-chain);包单测 9/9。领取与清扫 SQL 在本机 Postgres 建临时库实跑:清扫只命中\n「预算烧完 + 认领过期」那一行,领取只取到「到期 PENDING」与「认领过期 SENDING」,正确跳过活认领、\n他租户与 next_attempt_at 未到的行,临时库跑完已删。\n\n未跑:两后端新增的认领回收验收用例(NestJS/Fastify 逐条镜像)属 check:runtime 级别,需 pgvector\n的真实库 + Redis + 附件基础设施,本机 PG 无 pgvector,未硬凑环境,故本次不声称该级证据。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/601955837eb8caa25a91a2c2da96d9a06f8ea455","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:27-07:00","added":["apps/api-fastify/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql","apps/api-nestjs/prisma/migrations/20260918090000_notification_delivery_claim/migration.sql"],"removed":[],"modified":["apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":1867,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-15T15:55:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789772883
|
1789772913
|
0
|
1789772841
|
1789772914
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24393
|
feat(notification): route deliveries through platf feat(notification): route deliveries through platform...
|
82
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
7e2036be8923eff41481605454411a2291d5cc7a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"601955837eb8caa25a91a2c2da96d9a06f8ea455","after":"7e2036be8923eff41481605454411a2291d5cc7a","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/601955837eb8caa25a91a2c2da96d9a06f8ea455...7e2036be8923eff41481605454411a2291d5cc7a","commits":[{"id":"7e2036be8923eff41481605454411a2291d5cc7a","message":"feat(notification): route deliveries through platform\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/7e2036be8923eff41481605454411a2291d5cc7a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T05:05:29-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md"],"removed":[],"modified":["apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","packages/notification-delivery/README.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},{"id":"43c911bff4123b2a3d62b2845249caec3b3235db","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-ai-work-order-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-ai-work-order-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/43c911bff4123b2a3d62b2845249caec3b3235db","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:31-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"7e2036be8923eff41481605454411a2291d5cc7a","message":"feat(notification): route deliveries through platform\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/7e2036be8923eff41481605454411a2291d5cc7a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T05:05:29-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md"],"removed":[],"modified":["apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","packages/notification-delivery/README.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":1970,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-19T07:07:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1790167643
|
1790167734
|
0
|
1790167548
|
1790167736
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24445
|
chore(reports): check:runtime 回绑 @ 76fe43e
|
82
|
5
|
governance.yml
|
7
|
5
|
0
|
refs/heads/main
|
2a7c134fce123669d2f0dfa1b7bccca165e4af50
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7e2036be8923eff41481605454411a2291d5cc7a","after":"2a7c134fce123669d2f0dfa1b7bccca165e4af50","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/7e2036be8923eff41481605454411a2291d5cc7a...2a7c134fce123669d2f0dfa1b7bccca165e4af50","commits":[{"id":"2a7c134fce123669d2f0dfa1b7bccca165e4af50","message":"chore(reports): check:runtime 回绑 @ 76fe43e\n\n隔离 pgvector PG + Redis + MinIO + ClamAV 真实验收通过:testsPassed 292(地板 279),\nprovenance gitSha=76fe43e worktreeDirty=false。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/2a7c134fce123669d2f0dfa1b7bccca165e4af50","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T15:55:45-07:00","added":[],"removed":[],"modified":["reports/dual-backend-behavior.latest.json","reports/runtime-acceptance.latest.json"]},{"id":"76fe43ebe411787f914adb0d79815c428c42e164","message":"chore(reports): 静态门禁报告回绑 @ 71432dc(clean,pnpm check 通过)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/76fe43ebe411787f914adb0d79815c428c42e164","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T10:17:37-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"71432dc0e01d64549680c5db306b62d6cdaa3839","message":"feat(experience): 工单作为企业控制面体验贡献来源(DEC-044)\n\n- contracts:experienceContribution / Item / ListResponse 与来源登记 schema,\n 纯函数 buildExecutionControlExperienceContributions(APP + NAV 两条)及登记体构造器,含单测\n- 双后端只读 GET /api/v1/experience/contributions:execution:read,tenant 只取已验签上下文,\n 不落库、不写 outbox,响应经 contracts schema 校验\n- scripts/register-experience-sources.mjs + pnpm experience:register:默认 dry-run,--execute 登记到平台\n- owner-matrix 登记 ExperienceContribution,新增来源蓝图、词典、README 与 .env.example\n- governance.registry.json execution-control 域纳入新入口、模块、路由、测试与租户入口\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/71432dc0e01d64549680c5db306b62d6cdaa3839","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T10:05:33-07:00","added":["apps/api-fastify/src/routes/experience.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","docs/domain/experience-contribution-source-blueprint.md","packages/contracts/src/experience.test.ts","packages/contracts/src/experience.ts","scripts/register-experience-sources.mjs"],"removed":[],"modified":["README.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-fastify/test/auth.oidc.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/test/auth.oidc.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","governance.registry.json","package.json","packages/contracts/src/index.ts"]},{"id":"1813358927b1d83d4deaa5d898ea48584c6eb6f1","message":"fix(notification): 注释与用例名改用 domain intent,恢复 check:naming 绿盘\n\nmain 7e2036b 引入的两处「business」命中 CI 强制扫描词表,pnpm check 在首环即红。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/1813358927b1d83d4deaa5d898ea48584c6eb6f1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T10:05:21-07:00","added":[],"removed":[],"modified":["packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"2a7c134fce123669d2f0dfa1b7bccca165e4af50","message":"chore(reports): check:runtime 回绑 @ 76fe43e\n\n隔离 pgvector PG + Redis + MinIO + ClamAV 真实验收通过:testsPassed 292(地板 279),\nprovenance gitSha=76fe43e worktreeDirty=false。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/2a7c134fce123669d2f0dfa1b7bccca165e4af50","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T15:55:45-07:00","added":[],"removed":[],"modified":["reports/dual-backend-behavior.latest.json","reports/runtime-acceptance.latest.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":2441,"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":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-23T22:27: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
|
6
|
1790204942
|
1790204972
|
0
|
1790204488
|
1790204974
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24462
|
chore(reports): check:runtime 回绑 @ a45b6c0(338 tes chore(reports): check:runtime 回绑 @ a45b6c0(338 tests / 0 failures,clean)...
|
82
|
5
|
governance.yml
|
8
|
5
|
0
|
refs/heads/main
|
a85a595e93e12dd69e2d29151703ad272f568c4c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2a7c134fce123669d2f0dfa1b7bccca165e4af50","after":"a85a595e93e12dd69e2d29151703ad272f568c4c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/2a7c134fce123669d2f0dfa1b7bccca165e4af50...a85a595e93e12dd69e2d29151703ad272f568c4c","commits":[{"id":"a85a595e93e12dd69e2d29151703ad272f568c4c","message":"chore(reports): check:runtime 回绑 @ a45b6c0(338 tests / 0 failures,clean)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a85a595e93e12dd69e2d29151703ad272f568c4c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T18:12:05-07:00","added":[],"removed":[],"modified":["reports/dual-backend-behavior.latest.json","reports/runtime-acceptance.latest.json"]},{"id":"f4ebe0f2697de5e488ab48a1b918fa592132be76","message":"chore(reports): 静态门禁报告回绑 @ a45b6c0(clean,pnpm check 通过)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f4ebe0f2697de5e488ab48a1b918fa592132be76","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T18:12:05-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"a45b6c0977467aa85bc55a5b7bfd3395b1688e15","message":"feat(discussion): 结束参与关系命令与协作讨论成员移除(DEC-042 60 秒承诺)\n\n核查发现本仓此前没有任何会让人失去工单访问的路径:处理人只在 TRIAGED → ASSIGNED 分派一次、\n参与人只能加不能结束,蓝图里「失去访问的用户仍在平台成员表中」并不成立,移除承诺无触发点。\n\n- 新命令 DELETE /api/v1/tickets/:id/participants/:participantId(ticket:update,双后端):写 endedAt、\n participantEnded 工单事件、审计、ticket.participant.ended outbox(实时事件类型与前端文案同步登记)\n- 同一事务:此人不再凭任何关系持有访问且讨论已配置时,写 discussion_membership_syncs 移除意图\n (新表,FORCE RLS,认领列与 notifications 同形;判定单源 contracts discussionMemberToRemove)\n- 成员同步 worker(NestJS DiscussionMembershipWorkerService / Fastify discussion-membership-worker):\n 显式开关 + 租户清单,间隔默认 15s、夹在 5—50s;执行前复核(重新获得访问记 SKIPPED),\n 服务主体 members:apply removed,失败退避、8 次死信,成败写本仓审计\n- 客户端包新增 removeTicketDiscussionMember(remove: 幂等键前缀、从未打开讨论时不移除、409 重试一次)\n- 验收:两后端各 +4 例(移除全链路 / 另有参与记录不移除 / 复核 SKIPPED / 宕机重试 / 开关关闭不写 / worker 装配),\n 契约 +3、客户端包 +4;真实平台联调 +1(结束 Bob 参与 → worker → 平台直连 403)4/4\n- 蓝图 §1 §4 §7 §8 §9、owner-matrix、工单事件清单、.env.example、turbo globalEnv 同步\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a45b6c0977467aa85bc55a5b7bfd3395b1688e15","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T18:08:57-07:00","added":["apps/api-fastify/prisma/migrations/20260923180000_discussion_membership_sync/migration.sql","apps/api-fastify/src/modules/ticket-discussion/discussion-membership-sync.service.ts","apps/api-fastify/src/plugins/discussion-membership-worker.ts","apps/api-nestjs/prisma/migrations/20260923180000_discussion_membership_sync/migration.sql","apps/api-nestjs/src/ticket-discussion/discussion-membership-sync.service.ts"],"removed":[],"modified":["apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/test/ticket-discussion.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/ticket-discussion/ticket-discussion.module.ts","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/test/ticket-discussion.acceptance.test.ts","apps/api-nestjs/test/ticket-discussion.platform-real.test.ts","apps/web/src/components/EventFeed.tsx","docs/domain/owner-matrix.md","docs/domain/ticket-discussion-blueprint.md","docs/domain/ticket-system-blueprint.md","packages/collaboration-conversation/src/index.test.ts","packages/collaboration-conversation/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/ticket-discussion.test.ts","packages/contracts/src/ticket-discussion.ts","turbo.json"]},{"id":"6c36701750bae6b50bfebfbad28010948b172339","message":"chore(reports): check:runtime 回绑 @ 16cbaf6(324 tests / 0 failures,clean)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/6c36701750bae6b50bfebfbad28010948b172339","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T16:47:45-07:00","added":[],"removed":[],"modified":["reports/dual-backend-behavior.latest.json","reports/runtime-acceptance.latest.json"]},{"id":"14f67509f4825fab250d324710d8b6340a25095b","message":"chore(reports): 静态门禁报告回绑 @ 16cbaf6(clean,pnpm check 通过)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/14f67509f4825fab250d324710d8b6340a25095b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T16:47:45-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]}],"total_commits":0,"head_commit":{"id":"a85a595e93e12dd69e2d29151703ad272f568c4c","message":"chore(reports): check:runtime 回绑 @ a45b6c0(338 tests / 0 failures,clean)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a85a595e93e12dd69e2d29151703ad272f568c4c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T18:12:05-07:00","added":[],"removed":[],"modified":["reports/dual-backend-behavior.latest.json","reports/runtime-acceptance.latest.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":2578,"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":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-24T07:01: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
|
1790212351
|
1790212441
|
0
|
1790212349
|
1790212442
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
25293
|
chore(reports): rebind static closure to fa5cbff; chore(reports): rebind static closure to fa5cbff; preserve 8207890 runtime evidence...
|
82
|
5
|
governance.yml
|
9
|
5
|
0
|
refs/heads/main
|
f66d2385a43e94bf571c676398600da2b910199a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a85a595e93e12dd69e2d29151703ad272f568c4c","after":"f66d2385a43e94bf571c676398600da2b910199a","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/a85a595e93e12dd69e2d29151703ad272f568c4c...f66d2385a43e94bf571c676398600da2b910199a","commits":[{"id":"f66d2385a43e94bf571c676398600da2b910199a","message":"chore(reports): rebind static closure to fa5cbff; preserve 8207890 runtime evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f66d2385a43e94bf571c676398600da2b910199a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T18:17:44-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"fa5cbff33867eeb05c642de341bfbc519a422412","message":"docs(C16): preserve fixed-source acceptance and tighten mandatory regression floors\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/fa5cbff33867eeb05c642de341bfbc519a422412","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T18:16:57-07:00","added":["docs/evidence/c16-realtime-consumer-2026-10-09/attempts.json","docs/evidence/c16-realtime-consumer-2026-10-09/governance-required.json","docs/evidence/c16-realtime-consumer-2026-10-09/runtime-acceptance.json","docs/evidence/c16-realtime-consumer-2026-10-09/scope-and-special-tests.json","docs/evidence/c16-realtime-consumer-2026-10-09/ui-acceptance.json"],"removed":[],"modified":["CLAUDE.md","docs/C16实时讨论消费者实施记录-2026-10-09.md","reports/baseline.json"]},{"id":"de3c330cc1b49a47cb782755844b2f55f41f2199","message":"chore(reports): bind C16 consumer checks to clean 8207890 (351 runtime, 28 browser)\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/de3c330cc1b49a47cb782755844b2f55f41f2199","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T18:16:06-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.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/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"8207890430f149c1857d709c981e9eafad40dd0c","message":"feat(C16): consume authorized realtime hints and explicit read positions in ticket discussions\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/8207890430f149c1857d709c981e9eafad40dd0c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T17:55:48-07:00","added":["apps/web/src/lib/discussion-hints.ts","docs/C16实时讨论消费者实施记录-2026-10-09.md","packages/collaboration-conversation/src/hint-relay.test.ts","packages/collaboration-conversation/src/hint-relay.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/routes/ticket-discussion.ts","apps/api-fastify/test/ticket-discussion.acceptance.test.ts","apps/api-nestjs/src/ticket-discussion/ticket-discussion.controller.ts","apps/api-nestjs/src/ticket-discussion/ticket-discussion.service.ts","apps/api-nestjs/test/ticket-discussion.acceptance.test.ts","apps/api-nestjs/test/ticket-discussion.platform-real.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/components/TicketsPanel.tsx","apps/web/src/lib/api.ts","packages/collaboration-conversation/README.md","packages/collaboration-conversation/src/index.test.ts","packages/collaboration-conversation/src/index.ts","packages/contracts/src/ticket-discussion.test.ts","packages/contracts/src/ticket-discussion.ts"]}],"total_commits":0,"head_commit":{"id":"f66d2385a43e94bf571c676398600da2b910199a","message":"chore(reports): rebind static closure to fa5cbff; preserve 8207890 runtime evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f66d2385a43e94bf571c676398600da2b910199a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-09T18:17:44-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.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":2770,"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":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-09-24T09:12:29+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1791595085
|
1791595115
|
0
|
1791595073
|
1791595115
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26411
|
docs(governance): record full C16 351-case and 28- docs(governance): record full C16 351-case and 28-browser kernel 0.27 acceptance...
|
82
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
f799945209d1c8eff92a1e7f3b14b252b445d4df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f66d2385a43e94bf571c676398600da2b910199a","after":"f799945209d1c8eff92a1e7f3b14b252b445d4df","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/f66d2385a43e94bf571c676398600da2b910199a...f799945209d1c8eff92a1e7f3b14b252b445d4df","commits":[{"id":"f799945209d1c8eff92a1e7f3b14b252b445d4df","message":"docs(governance): record full C16 351-case and 28-browser kernel 0.27 acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f799945209d1c8eff92a1e7f3b14b252b445d4df","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:40:49-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.json","reports/consumer-profile027.latest.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/kernel-consumer-migration.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","reports/write-governance.latest.json"]},{"id":"f771d5b6124938c77b7ab9164a86e1d2f30216fc","message":"fix(c16-tests): use full native action identities for real sender grants\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f771d5b6124938c77b7ab9164a86e1d2f30216fc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:22:40-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/test/real-platform-fixture.ts","docs/governance-kit-027-migration.md"]},{"id":"c0930b7cb72c95424ae7ba5a861c0e64728ac9e6","message":"test(c16): provision explicit short-lived sender grants in real isolated fixtures\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/c0930b7cb72c95424ae7ba5a861c0e64728ac9e6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T19:54:33-07:00","added":["apps/api-nestjs/test/real-platform-fixture.ts"],"removed":[],"modified":["apps/api-nestjs/test/ticket-discussion.platform-real.test.ts","apps/web/e2e/acceptance.spec.ts","docs/governance-kit-027-migration.md","governance.env.json","governance/framework-consumer.json","turbo.json"]},{"id":"397f9a5172b56df9279791ed7c6cb65471257445","message":"test(governance): record native 0.27 tool adoption and five image builds\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/397f9a5172b56df9279791ed7c6cb65471257445","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T19:23:14-07:00","added":["reports/consumer-profile027.latest.json","reports/governance-kit.latest.json","reports/kernel-consumer-migration.latest.json"],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.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/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"9be4ba1ff868b0753708ab6ba12586e6ffa43291","message":"chore(governance): adopt exact tool-only kit 0.27 with private build support\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/9be4ba1ff868b0753708ab6ba12586e6ffa43291","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T18:50:52-07:00","added":[".npmrc","docs/governance-kit-027-migration.md","governance.env.json","governance/framework-consumer.json","scripts/check-governance-kit.mjs","scripts/lib/acceptance-source.test.mjs","scripts/lib/governance-kit.test.mjs","scripts/lib/prepare-ci-npmrc.test.mjs","scripts/prepare-ci-npmrc.mjs"],"removed":[],"modified":[".dockerignore",".github/workflows/governance.yml",".github/workflows/release-images.yml","CLAUDE.md","Dockerfile","package.json","pnpm-lock.yaml","reports/baseline.json","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"f799945209d1c8eff92a1e7f3b14b252b445d4df","message":"docs(governance): record full C16 351-case and 28-browser kernel 0.27 acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f799945209d1c8eff92a1e7f3b14b252b445d4df","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:40:49-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.json","reports/consumer-profile027.latest.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/kernel-consumer-migration.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","reports/write-governance.latest.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":3010,"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":4,"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-10-20T14:21:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792813919
|
1792813949
|
0
|
1792813299
|
1792813951
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26460
|
test: record final D3 271-case and 14-browser acce test: record final D3 271-case and 14-browser acceptance...
|
82
|
5
|
governance.yml
|
11
|
5
|
0
|
refs/heads/main
|
828715cf53fe6925982bca85c6a1a36515f9807a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f799945209d1c8eff92a1e7f3b14b252b445d4df","after":"828715cf53fe6925982bca85c6a1a36515f9807a","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/f799945209d1c8eff92a1e7f3b14b252b445d4df...828715cf53fe6925982bca85c6a1a36515f9807a","commits":[{"id":"828715cf53fe6925982bca85c6a1a36515f9807a","message":"test: record final D3 271-case and 14-browser acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/828715cf53fe6925982bca85c6a1a36515f9807a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T03:47:34-07:00","added":["reports/d3-delivery.latest.json","reports/d3-fixture-cleanup.latest.json","reports/d3-independent-review.latest.json","reports/d3-retirement.latest.json","reports/ui-attempts.latest.json"],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-target.latest.json","reports/statemachine-write-guard.latest.json","reports/static-acceptance.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"23b2eb9b9b5222549bf785fd7de3bf5cc5ab260c","message":"fix: close D3 review gaps and pin patched Nest HTTP runtime\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/23b2eb9b9b5222549bf785fd7de3bf5cc5ab260c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T03:27:59-07:00","added":["reports/d3-baseline-2026-10-25/security-review-red-green.json","reports/d3-ratchet-verification.latest.json","reports/production-acceptance.latest.json","reports/static-acceptance.latest.json"],"removed":[],"modified":["README.md","apps/api-nestjs/package.json","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/http-adapter.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","docs/nestjs-convergence.md","governance/d3-test-scope.json","package.json","pnpm-lock.yaml","reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json","scripts/check-d3-delivery.mjs","scripts/lib/artifact-acceptance.mjs","scripts/lib/backend-profile.test.mjs","scripts/lib/governance-baseline.mjs","scripts/lib/governance-baseline.test.mjs"]},{"id":"ce45e84a9652f5dac8bbd8268926ca6eddbf915c","message":"fix: preserve monotonic D3 ratchet updates and verify fixture cleanup\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/ce45e84a9652f5dac8bbd8268926ca6eddbf915c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:58:50-07:00","added":[],"removed":[],"modified":["docs/nestjs-convergence.md","reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json","scripts/check-d3-delivery.mjs","scripts/governance-report.mjs","scripts/lib/artifact-acceptance.mjs","scripts/lib/governance-baseline.mjs","scripts/lib/governance-baseline.test.mjs"]},{"id":"d065e0f1486854b85eeca3c44a0ed580f835bdcb","message":"test: supply contract-complete ticket artifact inputs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/d065e0f1486854b85eeca3c44a0ed580f835bdcb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:38:55-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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/transactional-write-chain.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json","scripts/check-schema-sync.mjs","scripts/lib/artifact-acceptance.mjs"]},{"id":"ad94e1be1ffc40d22c3ea5307cfc3e468516150c","message":"test: validate ticket artifacts with owned HTTPS storage fixtures\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/ad94e1be1ffc40d22c3ea5307cfc3e468516150c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T02:27:49-07:00","added":["reports/backend-behavior-parity.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.latest.json","reports/service-target.latest.json","scripts/check-d3-delivery.mjs","scripts/check-static-acceptance.mjs","scripts/lib/attachment-tls-fixture.mjs"],"removed":[],"modified":["README.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/nestjs-convergence.md","package.json","reports/agent-workflow-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json","scripts/check-backend-behavior-parity.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/artifact-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"828715cf53fe6925982bca85c6a1a36515f9807a","message":"test: record final D3 271-case and 14-browser acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/828715cf53fe6925982bca85c6a1a36515f9807a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-25T03:47:34-07:00","added":["reports/d3-delivery.latest.json","reports/d3-fixture-cleanup.latest.json","reports/d3-independent-review.latest.json","reports/d3-retirement.latest.json","reports/ui-attempts.latest.json"],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/deployment-acceptance.latest.json","reports/deployment-attempts.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-target.latest.json","reports/statemachine-write-guard.latest.json","reports/static-acceptance.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.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":3274,"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":4,"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-10-24T11:41:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792925287
|
1792925294
|
0
|
1792925285
|
1792925294
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26592
|
chore(evidence): record C50/C51 runtime 266 and UI chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3...
|
82
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
756ce30a7133fe68054a5b580db709d915246968
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"828715cf53fe6925982bca85c6a1a36515f9807a","after":"756ce30a7133fe68054a5b580db709d915246968","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/828715cf53fe6925982bca85c6a1a36515f9807a...756ce30a7133fe68054a5b580db709d915246968","commits":[{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"a1d4ed32e45e3fab5902671b4d0f656df63674de","message":"fix(security): adopt framework C50/C51 loopback defaults for listen host and dev data stores\n\nFrom base-framework main 26212ad (2026-10-27):\n- API defaults to 127.0.0.1 when HOST is unset or empty; the Dockerfile\n api-nestjs target now sets ENV HOST=0.0.0.0, which the k8s base and\n artifact acceptance rely on. .env.example uses HOST=127.0.0.1.\n- Dev base binds pgvector/Redis/MinIO (API and console) to 127.0.0.1;\n Redis host port becomes overridable.\n- check:dual-backend gains the listen-default and data-store loopback\n checks; port parsing reuses the framework compose-ports module\n (pgvector recognised), its tests join check:governance-kit.\n\nNegative: entry back to 0.0.0.0, Dockerfile without ENV HOST, pgvector\nwithout loopback, MinIO without loopback each exit 1; green after restore.\npnpm check passed on the dirty worktree.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a1d4ed32e45e3fab5902671b4d0f656df63674de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:36:06-07:00","added":["scripts/lib/compose-ports.mjs","scripts/lib/compose-ports.test.mjs"],"removed":[],"modified":["Dockerfile","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/main.ts","package.json","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.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":3787,"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":4,"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-10-25T18:48: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
|
1793152764
|
1793152794
|
0
|
1793152683
|
1793152795
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26597
|
chore(evidence): record C50/C51 deployment 17 and chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30...
|
82
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
74600c013eaaba8a404534b49f5d731134e37be9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"756ce30a7133fe68054a5b580db709d915246968","after":"74600c013eaaba8a404534b49f5d731134e37be9","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/756ce30a7133fe68054a5b580db709d915246968...74600c013eaaba8a404534b49f5d731134e37be9","commits":[{"id":"74600c013eaaba8a404534b49f5d731134e37be9","message":"chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30\n\nFour images built with ENV HOST=0.0.0.0 in the api-nestjs target; owned\nlabeled fixture network (pgvector/Redis/MinIO/ClamAV, no published ports)\nremoved with its volumes afterwards.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/74600c013eaaba8a404534b49f5d731134e37be9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:11:44-07:00","added":[],"removed":[],"modified":["reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.json"]}],"total_commits":0,"head_commit":{"id":"74600c013eaaba8a404534b49f5d731134e37be9","message":"chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30\n\nFour images built with ENV HOST=0.0.0.0 in the api-nestjs target; owned\nlabeled fixture network (pgvector/Redis/MinIO/ClamAV, no published ports)\nremoved with its volumes afterwards.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/74600c013eaaba8a404534b49f5d731134e37be9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:11:44-07:00","added":[],"removed":[],"modified":["reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.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":false,"fork":false,"template":false,"mirror":false,"size":3819,"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":4,"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-10-28T09:58:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1793153510
|
1793153518
|
0
|
1793153510
|
1793153519
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26602
|
test: record U2 + C50/C51 integration acceptance o test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)...
|
82
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"74600c013eaaba8a404534b49f5d731134e37be9","after":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/74600c013eaaba8a404534b49f5d731134e37be9...42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","commits":[{"id":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","message":"test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)\n\nGates run on the clean merge commit 1c1491f (provenance gitSha=1c1491f,\nworktreeDirty=false): pnpm check, check:runtime with isolated\npgvector/Redis/MinIO/ClamAV and real C16 (04 6ae2a13 isolated clone,\nlifecycle audit retract/moderate re-registered as\nplatform.collaboration-messaging in the isolated audit DB),\nC16_BROWSER_ACCEPTANCE=1 check:ui (12 demo incl. the C16 case + 2 Keycloak\nOIDC) and required check:governance (ownTests 41, ownTestCases 298).\nOnly reports/*.latest.json change in this commit; deployment and\nproduction acceptance reports stay as recorded on 756ce30.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:26:37-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"1c1491f3ab81d42345edb0f574e5a2a2c299bd28","message":"merge: U2 ticket object-relation authorization (codex/work-order-u2-object-scope-20261027 @1438d92) into main 74600c0\n\nCandidate 1438d92 (verifier round-3 PASS) merged --no-ff onto main\n74600c0 (C50/C51 loopback defaults plus its deployment/production\nevidence). No source conflicts; the three reports/*.latest.json conflicts\n(backend-behavior-parity, runtime-acceptance, ui-acceptance) were resolved\nmechanically by taking the candidate side and are regenerated on this\nmerge commit by the gates.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/1c1491f3ab81d42345edb0f574e5a2a2c299bd28","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:22:19-07:00","added":["apps/api-nestjs/src/tickets/ticket-object-scope.ts","apps/api-nestjs/test/ticket-object-scope.acceptance.test.ts","docs/U2对象关系授权实施记录-2026-10-27.md"],"removed":[],"modified":["CLAUDE.md","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-discussion/discussion-membership-sync.service.ts","apps/api-nestjs/src/ticket-discussion/ticket-discussion.service.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/test/ticket-discussion.platform-real.test.ts","docs/domain/owner-matrix.md","docs/domain/ticket-discussion-blueprint.md","docs/domain/ticket-system-blueprint.md","governance.registry.json","governance/d3-test-scope.json","packages/collaboration-conversation/src/fake-ledger.ts","reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json","scripts/lib/governance-baseline.test.mjs"]},{"id":"1438d928e45f4d04376b227651933cef6a09706c","message":"test: record U2 round-3 acceptance on 6f561e2 (runtime 288/floor 282, UI 14)\n\nReport-only commit: every changed path is reports/*.latest.json; source,\ndocs, registry and ratchet are byte-identical to 6f561e296 (clean).\nOn 6f561e2: pnpm check exit 0; check:runtime exit 0, 288 passed\n(packages 164, NestJS 124 incl. 6 real C16 against an isolated platform\nat 04 6ae2a13; 1 notification opt-in skipped), floor 282;\ncheck:ui exit 0, 14 passed (12 demo incl. real C16 + 2 Keycloak OIDC),\nfloor 13; check:governance required exit 0, no regressions or blocking\nviolations, ownTests 41 / ownTestCases 298. Supersedes c92abd6 reports.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/1438d928e45f4d04376b227651933cef6a09706c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:34:03-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"6f561e296b9b9d7a4382f0985f5bcc84f6046931","message":"test(governance): pin current floors 41/298/282/13 in the baseline self-test (V11)\n\nThe previous self-test only required live floors to equal the recorded\nratchet, so lowering or deleting the ratchet silently reverted floors.\nIt now pins ownTests 41, ownTestCases 298, testsPassed 282 (mandatory\nscope without 6 opt-in real C16 cases) and uiTestsPassed 13, while still\nproving the D3 minimum on a ratchet-stripped copy. Lowering\ntestsPassed/ownTestCases, deleting the ratchet, and deleting it together\nwith the U2 test all fail check:d3-baseline; below-minimum still fails\nboth check:d3-baseline and governance.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/6f561e296b9b9d7a4382f0985f5bcc84f6046931","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:28:02-07:00","added":[],"removed":[],"modified":["governance/d3-test-scope.json","scripts/lib/governance-baseline.test.mjs"]},{"id":"6af4c883a4b1ac9110d062664ab5eacd3da90afd","message":"fix(projects): close U2 round-2 findings V10 and V12\n\nV10: linking a ticket to a project now also requires the linker's own\noriginal ticket relation to carry comment rights (manager/tenantAdmin,\nassignee, requester, COLLABORATOR); a FOLLOWER-only linker gets 403\nTICKET_LINK_RELATION_FORBIDDEN, no relation stays 404. Link-time\nvalidation semantics (access survives the linker losing theirs) are\nrecorded as pending business confirmation.\nV12: removing another project member is limited to the project owner,\nOWNER/MANAGER members or tenant-wide roles; anyone may leave. Existing\nNestJS suite unchanged (118 passed); both new cases red on c92abd6 src.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/6af4c883a4b1ac9110d062664ab5eacd3da90afd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:28:02-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/test/ticket-object-scope.acceptance.test.ts","docs/U2对象关系授权实施记录-2026-10-27.md","docs/domain/owner-matrix.md","docs/domain/ticket-discussion-blueprint.md"]}],"total_commits":0,"head_commit":{"id":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","message":"test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)\n\nGates run on the clean merge commit 1c1491f (provenance gitSha=1c1491f,\nworktreeDirty=false): pnpm check, check:runtime with isolated\npgvector/Redis/MinIO/ClamAV and real C16 (04 6ae2a13 isolated clone,\nlifecycle audit retract/moderate re-registered as\nplatform.collaboration-messaging in the isolated audit DB),\nC16_BROWSER_ACCEPTANCE=1 check:ui (12 demo incl. the C16 case + 2 Keycloak\nOIDC) and required check:governance (ownTests 41, ownTestCases 298).\nOnly reports/*.latest.json change in this commit; deployment and\nproduction acceptance reports stay as recorded on 756ce30.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:26:37-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.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":false,"fork":false,"template":false,"mirror":false,"size":3826,"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":4,"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-10-28T10:11: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
|
1793155058
|
1793155065
|
0
|
1793154554
|
1793155065
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26611
|
test: record review-fix acceptance on clean 470894 test: record review-fix acceptance on clean 4708949 (runtime 298/floor 292, UI 14/floor 13)...
|
82
|
5
|
governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
80c8bdabb7ff33364f9d270d4a771bf25a2cad71
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","after":"80c8bdabb7ff33364f9d270d4a771bf25a2cad71","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e...80c8bdabb7ff33364f9d270d4a771bf25a2cad71","commits":[{"id":"80c8bdabb7ff33364f9d270d4a771bf25a2cad71","message":"test: record review-fix acceptance on clean 4708949 (runtime 298/floor 292, UI 14/floor 13)\n\nSupersedes the 68e37c0 reports. All reports come from committed 4708949\n(worktreeDirty=false):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 298 passed / 0 failed, floor 292; includes the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 14 passed (12 demo incl. real C16\n browser + 2 Keycloak OIDC) / 0 failed, floor 13\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/80c8bdabb7ff33364f9d270d4a771bf25a2cad71","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T01:00:48-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"4708949f3d90ebf2490bc90a2baf32d3d58850f2","message":"fix(realtime): route permission before tenant-level bypass; replay and AST guard coverage (review WO-RT-F1..F4)\n\n- F1: unanchored (permission-class) envelopes are now checked against the\n HTTP route permission before the tenant-level shortcut, so manager without\n tenant:manage no longer receives user/order/job/inbound/notification/\n knowledge/projection-rebuild envelopes (same as HTTP 403); tenantAdmin and\n holders of the permission unchanged; ticket/project/unclassified behaviour\n for tenant-level roles unchanged. New acceptance case (SSE+WS, live+replay)\n fails on 68e37c0.\n- F2: new replay case: requester role and project-derived member reconnecting\n with a cursor on SSE and WS get hint fields only; WS and SSE \"send raw\n envelope when visible\" replay mutations both turn it red.\n- F3: guard scan now uses the TypeScript AST (same parser as\n check:write-chain); outbox.create/createMany/upsert and eventBus.publish\n calls must expose a literal, literal ternary or enumerated type, indirect\n forms such as create({ data: row }) fail.\n- F4: dated note in docs/governance-experience.md; known drift (CLAUDE.md\n stable lines, D3-preserved contracts comments, 01 layer docs) registered\n in the implementation record.\nRatchet 43/308/292/13 with pin. D3 preservation files unchanged.\nVerified so far on dirty tree: targeted tests, full api-nestjs suite,\npnpm check; full gates on this commit next.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/4708949f3d90ebf2490bc90a2baf32d3d58850f2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T00:54:13-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-nestjs/src/events/realtime-visibility.ts","apps/api-nestjs/test/realtime.object-scope.acceptance.test.ts","apps/api-nestjs/test/realtime.visibility-guard.test.ts","docs/governance-experience.md","docs/实时通道对象授权实施记录-2026-10-27.md","governance/d3-test-scope.json","scripts/lib/governance-baseline.test.mjs"]},{"id":"68e37c0e4e8cdcd99f9d60bae36eee08556bfa7f","message":"test: record PM-06 realtime object-scope acceptance on clean 563f3d3 (runtime 296/floor 290, UI 14/floor 13)\n\nSupersedes the 2b49b0f reports (bound to a5817fa, before the D3\npreservation fix). All reports come from committed 563f3d3\n(worktreeDirty=false):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 296 passed / 0 failed, floor 290; includes the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 14 passed (12 demo incl. real C16\n browser + 2 Keycloak OIDC) / 0 failed, floor 13\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/68e37c0e4e8cdcd99f9d60bae36eee08556bfa7f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T00:11:01-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"563f3d3841ee758cb82b4c6a242021bec9b0efd2","message":"fix(realtime): keep D3 preservation files byte-identical (revert contracts comment edits)\n\npackages/contracts/src/realtime.ts and subscription.ts are in the D3\npreservation manifest (65 files incl. 25 SQL, sha256-pinned). The previous\ncommit edited only their header comments; restore them to 42c886e bytes and\nrecord in CLAUDE.md dynamic region and the implementation record that those\ncomments still describe tenant-only filtering and are superseded by the\nrealtime object-scope record. No behaviour change; full gates re-run next.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/563f3d3841ee758cb82b4c6a242021bec9b0efd2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T00:06:33-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/实时通道对象授权实施记录-2026-10-27.md","packages/contracts/src/realtime.ts","packages/contracts/src/subscription.ts"]},{"id":"2b49b0f07582f43ef225a525ae004c4df93461ff","message":"test: record PM-06 realtime object-scope acceptance on clean a5817fa (runtime 296/floor 290, UI 14/floor 13)\n\nAll reports come from the committed candidate a5817fa (worktreeDirty=false):\n- pnpm check: pass (lint/typecheck also re-run with turbo --force, 19/19)\n- pnpm check:runtime: 296 passed / 0 failed, floor 290; includes the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (permission/audit/collaboration-messaging, loopback, test-only fixtures)\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 14 passed (12 demo incl. real C16\n browser + 2 Keycloak OIDC) / 0 failed, floor 13\n- pnpm check:governance (required): passed, no regressions\n\nTwo earlier check:ui attempts on the same SHA failed because of gate-env\nmistakes (platform tenant map missing the -nestjs suffix; reused UI tenant\nleft a previous run's ticket selected); both reports kept outside the repo.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/2b49b0f07582f43ef225a525ae004c4df93461ff","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T00:05:21-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]}],"total_commits":0,"head_commit":{"id":"80c8bdabb7ff33364f9d270d4a771bf25a2cad71","message":"test: record review-fix acceptance on clean 4708949 (runtime 298/floor 292, UI 14/floor 13)\n\nSupersedes the 68e37c0 reports. All reports come from committed 4708949\n(worktreeDirty=false):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 298 passed / 0 failed, floor 292; includes the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 14 passed (12 demo incl. real C16\n browser + 2 Keycloak OIDC) / 0 failed, floor 13\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/80c8bdabb7ff33364f9d270d4a771bf25a2cad71","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T01:00:48-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.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":false,"fork":false,"template":false,"mirror":false,"size":4047,"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":4,"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-10-28T10:29:14+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1793175876
|
1793175885
|
0
|
1793175876
|
1793175885
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26623
|
test: record WO-SR-F9 acceptance on clean ffdfb13 test: record WO-SR-F9 acceptance on clean ffdfb13 (runtime 325/floor 319, UI 18/floor 16)...
|
82
|
5
|
governance.yml
|
16
|
5
|
0
|
refs/heads/main
|
3b2c4c0d307dde46aec78598cce4fb8b25372657
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c8bdabb7ff33364f9d270d4a771bf25a2cad71","after":"3b2c4c0d307dde46aec78598cce4fb8b25372657","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/80c8bdabb7ff33364f9d270d4a771bf25a2cad71...3b2c4c0d307dde46aec78598cce4fb8b25372657","commits":[{"id":"3b2c4c0d307dde46aec78598cce4fb8b25372657","message":"test: record WO-SR-F9 acceptance on clean ffdfb13 (runtime 325/floor 319, UI 18/floor 16)\n\nAll reports come from committed ffdfb13 (worktreeDirty=false); gates ran\n17:15-17:21Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 325 passed / 0 failed, floor 319, including the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (rerun because the source fingerprint changed; only e2e and the UI script did)\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui\n (OIDC web with REALTIME_SESSION_RECHECK_SECONDS=5): 18 passed / 0 failed,\n floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/3b2c4c0d307dde46aec78598cce4fb8b25372657","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T10:21:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"ffdfb134364ad609c213f98ea675b938133ac29d","message":"test(web): run the OIDC browser stage with a 5s session recheck and assert by it (WO-SR-F9); register F10\n\n- scripts/check-ui-acceptance.mjs passes REALTIME_SESSION_RECHECK_SECONDS=5 to\n the OIDC web server and to Playwright only (production default stays 30s).\n- Logout and role-change cases assert revocation latency against the\n configured interval (\u003c= interval + 2s) and still require session.revoked as\n the first terminator; previously the 30s default left 3-4s against the 35s\n token.\n- WO-SR-F10 (logout during a Redis outage reports success while the server\n session survives) recorded in the implementation record and CLAUDE.md G8.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/ffdfb134364ad609c213f98ea675b938133ac29d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T10:14:36-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/oidc.acceptance.spec.ts","docs/长连接在线复核实施记录-2026-10-28.md","scripts/check-ui-acceptance.mjs"]},{"id":"762e9e42f6d425247623bc89c1934f366bae746f","message":"test: record WO-SR-F8 fix acceptance on clean f8477be (runtime 325/floor 319 x2, UI 18/floor 16)\n\nAll reports come from committed f8477be (worktreeDirty=false); gates ran\n16:26-16:34Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime run 1: 325 passed / 0 failed, floor 319 (kept outside the\n repo); run 2 (these reports): 325 passed / 0 failed; both include the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui:\n 18 passed (12 demo incl. real C16 browser + 6 Keycloak OIDC incl. role change\n and Redis outage recovery) / 0 failed, floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/762e9e42f6d425247623bc89c1934f366bae746f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T09:35:19-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]},{"id":"f8477be5d68457c21f62006d0da78cb470a2ffcd","message":"fix(realtime): treat an unavailable session store as retryable, not logout (WO-SR-F8); register F7\n\n- SessionRevalidator reports an end reason: missing session or principal/role\n change -\u003e revoked; store error or lookup timeout -\u003e unavailable. The BFF guard\n still ends the stream (fail-closed) but sends session.unavailable for the latter.\n- useRealtime: on any session end or a refused EventSource handshake, read\n /auth/session directly; only an explicit unauthenticated view goes to login,\n otherwise (incl. 503/network) reconnect with 1-10s backoff and the last cursor.\n page.tsx keeps the workspace when a session refetch fails and auto-retries\n when there is no data yet.\n- Tests: identity end-reason + unavailable-frame units; real Keycloak role-change\n case (covers the BFF wiring of the role comparison); Redis outage/recovery\n browser case (opt-in via E2E_REDIS_CONTAINER).\n- WO-SR-F7 (addBusinessMinutes cross-day rounding, preserved contract) recorded\n in the implementation record and CLAUDE.md G18; not fixed here.\nRatchet 46 files / 339 cases / 319 runtime / 16 UI. Gates run separately.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f8477be5d68457c21f62006d0da78cb470a2ffcd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T09:25:47-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/hooks/useRealtime.ts","docs/长连接在线复核实施记录-2026-10-28.md","governance/d3-test-scope.json","packages/identity/src/index.ts","packages/identity/src/realtime-session.test.ts","packages/identity/src/realtime-session.ts","packages/identity/src/sse-session-guard.test.ts","packages/identity/src/sse-session-guard.ts","scripts/lib/governance-baseline.test.mjs"]},{"id":"b1b104490cc720ddd2e4f116bf65bca66dbf4e4d","message":"test: record WO-SR-F1..F6 review-fix acceptance on clean 204e988 (runtime 323/floor 317 x2, UI 16/floor 15)\n\nAll reports come from committed 204e988 (worktreeDirty=false):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime run 1: 323 passed / 0 failed, floor 317 (kept outside the\n repo); run 2 (these reports): 323 passed / 0 failed; both include the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (AUTH_MODE=jwt, PLATFORM_PERSISTENCE_ENABLED=1)\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 16 passed (12 demo incl. real C16\n browser + 4 Keycloak OIDC) / 0 failed, floor 15\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/b1b104490cc720ddd2e4f116bf65bca66dbf4e4d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T08:30:07-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.json"]}],"total_commits":0,"head_commit":{"id":"3b2c4c0d307dde46aec78598cce4fb8b25372657","message":"test: record WO-SR-F9 acceptance on clean ffdfb13 (runtime 325/floor 319, UI 18/floor 16)\n\nAll reports come from committed ffdfb13 (worktreeDirty=false); gates ran\n17:15-17:21Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 325 passed / 0 failed, floor 319, including the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (rerun because the source fingerprint changed; only e2e and the UI script did)\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui\n (OIDC web with REALTIME_SESSION_RECHECK_SECONDS=5): 18 passed / 0 failed,\n floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/3b2c4c0d307dde46aec78598cce4fb8b25372657","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-28T10:21:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.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-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.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","reports/write-governance.latest.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":false,"fork":false,"template":false,"mirror":false,"size":4222,"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":4,"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-10-28T16:24: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
|
6
|
1793209151
|
1793209164
|
0
|
1793209151
|
1793209166
|
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
|
|
23882
|
feat(platform): pin published RC contracts and gov feat(platform): pin published RC contracts and governance in HR checks...
|
83
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
df46b98835ff77c7f4675e043d0869799fbb8d08
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c652cd634964e915a0a9895cc9a91be4381333b0","after":"df46b98835ff77c7f4675e043d0869799fbb8d08","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/c652cd634964e915a0a9895cc9a91be4381333b0...df46b98835ff77c7f4675e043d0869799fbb8d08","commits":[{"id":"df46b98835ff77c7f4675e043d0869799fbb8d08","message":"feat(platform): pin published RC contracts and governance in HR checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/df46b98835ff77c7f4675e043d0869799fbb8d08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:37-07:00","added":[".github/workflows/platform-governance.yml",".npmrc","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"df46b98835ff77c7f4675e043d0869799fbb8d08","message":"feat(platform): pin published RC contracts and governance in HR checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/df46b98835ff77c7f4675e043d0869799fbb8d08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:37-07:00","added":[".github/workflows/platform-governance.yml",".npmrc","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","package.json","pnpm-lock.yaml"]},"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":3899,"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
|
1789203290
|
1789203320
|
0
|
1789203232
|
1789203322
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23883
|
feat(platform): pin published RC contracts and gov feat(platform): pin published RC contracts and governance in HR checks...
|
83
|
5
|
platform-governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
df46b98835ff77c7f4675e043d0869799fbb8d08
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c652cd634964e915a0a9895cc9a91be4381333b0","after":"df46b98835ff77c7f4675e043d0869799fbb8d08","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/c652cd634964e915a0a9895cc9a91be4381333b0...df46b98835ff77c7f4675e043d0869799fbb8d08","commits":[{"id":"df46b98835ff77c7f4675e043d0869799fbb8d08","message":"feat(platform): pin published RC contracts and governance in HR checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/df46b98835ff77c7f4675e043d0869799fbb8d08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:37-07:00","added":[".github/workflows/platform-governance.yml",".npmrc","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"df46b98835ff77c7f4675e043d0869799fbb8d08","message":"feat(platform): pin published RC contracts and governance in HR checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/df46b98835ff77c7f4675e043d0869799fbb8d08","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:51:37-07:00","added":[".github/workflows/platform-governance.yml",".npmrc","governance/fixtures/contracts.suite.json","scripts/configure-platform-npm.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","package.json","pnpm-lock.yaml"]},"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":3899,"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
|
1
|
17
|
1789203799
|
1789203821
|
31000000000
|
1789203232
|
1789203821
|
|
|
0
|
Edit
Delete
|
|
23886
|
test(platform): keep dispatcher fixtures aligned w test(platform): keep dispatcher fixtures aligned with Redis client options...
|
83
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
c934bc46240daae849ad93cfacaa3b25c41b323f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df46b98835ff77c7f4675e043d0869799fbb8d08","after":"c934bc46240daae849ad93cfacaa3b25c41b323f","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/df46b98835ff77c7f4675e043d0869799fbb8d08...c934bc46240daae849ad93cfacaa3b25c41b323f","commits":[{"id":"c934bc46240daae849ad93cfacaa3b25c41b323f","message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c934bc46240daae849ad93cfacaa3b25c41b323f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:38:16-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"]},{"id":"330a3287b5c0b68652d73af62cab45f99b0d5a84","message":"fix(platform): scope realtime channels for shared development Redis\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/330a3287b5c0b68652d73af62cab45f99b0d5a84","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:26:46-07:00","added":["docs/platform-shared-dev.md","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"],"removed":[],"modified":[".gitignore","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","packages/contracts/src/realtime.ts"]}],"total_commits":0,"head_commit":{"id":"c934bc46240daae849ad93cfacaa3b25c41b323f","message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c934bc46240daae849ad93cfacaa3b25c41b323f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:38:16-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4021,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T16:53: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
|
6
|
1789206500
|
1789206529
|
0
|
1789206499
|
1789206529
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23887
|
test(platform): keep dispatcher fixtures aligned w test(platform): keep dispatcher fixtures aligned with Redis client options...
|
83
|
5
|
platform-governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
c934bc46240daae849ad93cfacaa3b25c41b323f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"df46b98835ff77c7f4675e043d0869799fbb8d08","after":"c934bc46240daae849ad93cfacaa3b25c41b323f","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/df46b98835ff77c7f4675e043d0869799fbb8d08...c934bc46240daae849ad93cfacaa3b25c41b323f","commits":[{"id":"c934bc46240daae849ad93cfacaa3b25c41b323f","message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c934bc46240daae849ad93cfacaa3b25c41b323f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:38:16-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"]},{"id":"330a3287b5c0b68652d73af62cab45f99b0d5a84","message":"fix(platform): scope realtime channels for shared development Redis\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/330a3287b5c0b68652d73af62cab45f99b0d5a84","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:26:46-07:00","added":["docs/platform-shared-dev.md","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"],"removed":[],"modified":[".gitignore","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","packages/contracts/src/realtime.ts"]}],"total_commits":0,"head_commit":{"id":"c934bc46240daae849ad93cfacaa3b25c41b323f","message":"test(platform): keep dispatcher fixtures aligned with Redis client options\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c934bc46240daae849ad93cfacaa3b25c41b323f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:38:16-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","packages/contracts/src/realtime-database.test.ts","scripts/with-platform-dev.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4021,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T16:53: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
|
1
|
8
|
1789206529
|
1789206583
|
0
|
1789206499
|
1789206583
|
|
|
0
|
Edit
Delete
|
|
23913
|
docs(governance): record clean RC1 consumer verifi docs(governance): record clean RC1 consumer verification...
|
83
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
caf551df74c25b3bad8b1a5540f3cc8900649b2d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c934bc46240daae849ad93cfacaa3b25c41b323f","after":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/c934bc46240daae849ad93cfacaa3b25c41b323f...caf551df74c25b3bad8b1a5540f3cc8900649b2d","commits":[{"id":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","message":"docs(governance): record clean RC1 consumer verification\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/caf551df74c25b3bad8b1a5540f3cc8900649b2d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:40-07:00","added":["reports/platform-rc1-upgrade.2026-09-12.json"],"removed":[],"modified":["docs/platform-rc1-upgrade-2026-09-12.md"]},{"id":"c39a56fdb9dbf93e1a4623165569f225775be692","message":"chore(governance): consume platform RC1 and require contract fixtures\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c39a56fdb9dbf93e1a4623165569f225775be692","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:07-07:00","added":["docs/platform-rc1-upgrade-2026-09-12.md"],"removed":[],"modified":[".github/workflows/platform-governance.yml","CLAUDE.md","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","message":"docs(governance): record clean RC1 consumer verification\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/caf551df74c25b3bad8b1a5540f3cc8900649b2d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:40-07:00","added":["reports/platform-rc1-upgrade.2026-09-12.json"],"removed":[],"modified":["docs/platform-rc1-upgrade-2026-09-12.md"]},"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":4056,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T17:48:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789221260
|
1789221289
|
0
|
1789221259
|
1789221291
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23914
|
docs(governance): record clean RC1 consumer verifi docs(governance): record clean RC1 consumer verification...
|
83
|
5
|
platform-governance.yml
|
7
|
5
|
0
|
refs/heads/main
|
caf551df74c25b3bad8b1a5540f3cc8900649b2d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c934bc46240daae849ad93cfacaa3b25c41b323f","after":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/c934bc46240daae849ad93cfacaa3b25c41b323f...caf551df74c25b3bad8b1a5540f3cc8900649b2d","commits":[{"id":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","message":"docs(governance): record clean RC1 consumer verification\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/caf551df74c25b3bad8b1a5540f3cc8900649b2d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:40-07:00","added":["reports/platform-rc1-upgrade.2026-09-12.json"],"removed":[],"modified":["docs/platform-rc1-upgrade-2026-09-12.md"]},{"id":"c39a56fdb9dbf93e1a4623165569f225775be692","message":"chore(governance): consume platform RC1 and require contract fixtures\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/c39a56fdb9dbf93e1a4623165569f225775be692","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:07-07:00","added":["docs/platform-rc1-upgrade-2026-09-12.md"],"removed":[],"modified":[".github/workflows/platform-governance.yml","CLAUDE.md","package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","message":"docs(governance): record clean RC1 consumer verification\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/caf551df74c25b3bad8b1a5540f3cc8900649b2d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:53:40-07:00","added":["reports/platform-rc1-upgrade.2026-09-12.json"],"removed":[],"modified":["docs/platform-rc1-upgrade-2026-09-12.md"]},"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":4056,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T17:48:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
8
|
1789221289
|
1789221322
|
0
|
1789221259
|
1789221322
|
|
|
0
|
Edit
Delete
|
|
23918
|
fix(ci): fetch report provenance history for HR go fix(ci): fetch report provenance history for HR governance...
|
83
|
5
|
governance.yml
|
8
|
5
|
0
|
refs/heads/main
|
6823a38dc4626db9f396978663efbc2493a1276c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","after":"6823a38dc4626db9f396978663efbc2493a1276c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/caf551df74c25b3bad8b1a5540f3cc8900649b2d...6823a38dc4626db9f396978663efbc2493a1276c","commits":[{"id":"6823a38dc4626db9f396978663efbc2493a1276c","message":"fix(ci): fetch report provenance history for HR governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6823a38dc4626db9f396978663efbc2493a1276c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:58:07-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","docs/platform-rc1-upgrade-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"6823a38dc4626db9f396978663efbc2493a1276c","message":"fix(ci): fetch report provenance history for HR governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6823a38dc4626db9f396978663efbc2493a1276c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:58:07-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","docs/platform-rc1-upgrade-2026-09-12.md"]},"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":4233,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:54:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789221490
|
1789221525
|
0
|
1789221489
|
1789221527
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23919
|
fix(ci): fetch report provenance history for HR go fix(ci): fetch report provenance history for HR governance...
|
83
|
5
|
platform-governance.yml
|
9
|
5
|
0
|
refs/heads/main
|
6823a38dc4626db9f396978663efbc2493a1276c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"caf551df74c25b3bad8b1a5540f3cc8900649b2d","after":"6823a38dc4626db9f396978663efbc2493a1276c","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/caf551df74c25b3bad8b1a5540f3cc8900649b2d...6823a38dc4626db9f396978663efbc2493a1276c","commits":[{"id":"6823a38dc4626db9f396978663efbc2493a1276c","message":"fix(ci): fetch report provenance history for HR governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6823a38dc4626db9f396978663efbc2493a1276c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:58:07-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","docs/platform-rc1-upgrade-2026-09-12.md"]}],"total_commits":0,"head_commit":{"id":"6823a38dc4626db9f396978663efbc2493a1276c","message":"fix(ci): fetch report provenance history for HR governance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6823a38dc4626db9f396978663efbc2493a1276c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T06:58:07-07:00","added":[],"removed":[],"modified":[".github/workflows/governance.yml","docs/platform-rc1-upgrade-2026-09-12.md"]},"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":4233,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:54:19+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
8
|
1789221525
|
1789221543
|
0
|
1789221489
|
1789221543
|
|
|
0
|
Edit
Delete
|
|
23960
|
feat(hr): emit canonical employment facts and hard feat(hr): emit canonical employment facts and harden database RLS...
|
83
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
a0ebf7769727344892ab96c1240bd809b5791430
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6823a38dc4626db9f396978663efbc2493a1276c","after":"a0ebf7769727344892ab96c1240bd809b5791430","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/6823a38dc4626db9f396978663efbc2493a1276c...a0ebf7769727344892ab96c1240bd809b5791430","commits":[{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4238,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:58:09+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789441179
|
1789441205
|
0
|
1789440861
|
1789441206
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23961
|
feat(hr): emit canonical employment facts and hard feat(hr): emit canonical employment facts and harden database RLS...
|
83
|
5
|
platform-governance.yml
|
11
|
5
|
0
|
refs/heads/main
|
a0ebf7769727344892ab96c1240bd809b5791430
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6823a38dc4626db9f396978663efbc2493a1276c","after":"a0ebf7769727344892ab96c1240bd809b5791430","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/6823a38dc4626db9f396978663efbc2493a1276c...a0ebf7769727344892ab96c1240bd809b5791430","commits":[{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"a0ebf7769727344892ab96c1240bd809b5791430","message":"feat(hr): emit canonical employment facts and harden database RLS\n\n- enterprise fact relay: new relay module/service on both backends with\n recovery migration, publishing canonical employment fact intents\n- packages/contracts: add enterprise-fact contract and tests\n- database RLS: role hardening migration plus greatly expanded\n database-rls and personnel integration coverage\n- products/juhai.hr: personnel-core migrations for fact intents and relay recovery\n- governance: add check-api-migration-safety and os-product / database-rls\n governance libs with tests\n- web: rework RecruitmentWorkspace and personnel directory views\n- refresh reports evidence and os-product bundles\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a0ebf7769727344892ab96c1240bd809b5791430","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-14T19:52:55-07:00","added":["apps/api-fastify/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-fastify/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-fastify/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-fastify/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/prisma/migrations/20260830120000_employment_canonical_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20260830120500_database_rls_role_hardening/migration.sql","apps/api-nestjs/prisma/migrations/20260830121000_employment_canonical_constraints/migration.sql","apps/api-nestjs/prisma/migrations/20260830130000_enterprise_fact_relay_recovery/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/fixtures.latest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/bundle-index.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/distribution.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/manifest.json","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/24d09767e1fb9e555996471e4289af0ae3ed91c7b29c19d025b373b4fe34d7f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/bundle-index.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/distribution.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/manifest.json","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/4bacd7bb3cf2ebd61c5f4214adb394c7433b09f91be267731c25a274b82a7173/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/bundle-index.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/distribution.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/manifest.json","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/63f032c8f421c7bbfae040415eef04b602ac1c420dedb49c67eb2c192c7177f3/products/juhai.hr/src/web-workspace.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/bundle-index.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/juhai.hr.personnel-core.acceptance.acceptance.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/runtime-suite.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/acceptance/web-workspace.acceptance.spec.ts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/ddl-authority.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/distribution.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/manifest.json","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030000_personnel_core_phase1.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030100_personnel_core_phase1_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030200_personnel_core_complete.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030300_personnel_core_complete_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030400_personnel_duplicate_candidates.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030500_personnel_duplicate_candidate_storage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030600_identity_evidence_corrections.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030700_employment_probation_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030800_personnel_core_explicit_rls.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826030900_assignment_successor_lineage.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260826031000_employment_term_facts.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260828010000_assignment_lineage_indexes.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830120000_employment_canonical_fact_intents.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/migrations/juhai.hr.personnel-core/20260830130000_enterprise_fact_relay_recovery.sql","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/delivery-audit-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/fastify-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/http-errors.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/implementations.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/master-data-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/nestjs-adapter.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/os-composition.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-change-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-service.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/personnel-governance-workbench.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/privacy-projections.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/runtime-contracts.mjs","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.d.mts","reports/os-product-bundles/8b4b056faebe3948f3e8c80a104a50d3362951dc71896f0877f33a30ce38d078/products/juhai.hr/src/web-workspace.mjs","scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs","scripts/lib/report-provenance.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/personnel.http.test.ts","apps/api-fastify/test/personnel.integration.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/enterprise-identity/enterprise-identity.controller.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-identity.http.test.ts","apps/api-nestjs/test/personnel.http.test.ts","apps/api-nestjs/test/personnel.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/OrganizationWorkspace.tsx","apps/web/src/components/PersonnelDirectoryView.tsx","apps/web/src/components/RecruitmentWorkspace.tsx","apps/web/src/lib/api.ts","docs/domain/hr-v2-blueprint.md","docs/domain/os-product-layer-blueprint.md","docs/domain/owner-matrix.md","docs/domain/personnel-core-blueprint.md","docs/domain/recruitment-v2-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/personnel.test.ts","packages/contracts/src/personnel.ts","packages/contracts/tsconfig.json","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/readiness.json","products/juhai.hr/src/master-data-service.mjs","products/juhai.hr/src/personnel-change-contracts.mjs","products/juhai.hr/src/personnel-change-workbench.mjs","reports/baseline.json","reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-bundle.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-sql-runtime.rejected.json","reports/outbox-multi-instance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-database-rls.mjs","scripts/check-migrations.mjs","scripts/check-os-product-layer.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":4238,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-12T21:58:09+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
8
|
1789441205
|
1789441317
|
0
|
1789440861
|
1789441317
|
|
|
0
|
Edit
Delete
|
|
23972
|
chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多 chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败...
|
83
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
3c9f6df78f540226554cb4ecc6115741fe478c41
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a0ebf7769727344892ab96c1240bd809b5791430","after":"3c9f6df78f540226554cb4ecc6115741fe478c41","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a0ebf7769727344892ab96c1240bd809b5791430...3c9f6df78f540226554cb4ecc6115741fe478c41","commits":[{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d970541bd56e5f82659322c8f738d2f5d49c1770","message":"chore(governance): 命名门禁修复后在新 HEAD 上重跑,静态面由 12 通过升为 13\n\n上一提交(8d74d4d)改了 scripts/ 下四个治理模块,按证据纪律旧报告随即失效——\n本提交只动 reports/,绑定 8d74d4d,与源码内容一一对应。\n\n静态门禁 13 通过 / 7 失败。7 条里没有一条是本仓代码质量问题:\n- 4 条缺实例:dual-backend-behavior / health-dependency-failure /\n outbox-multi-instance 需 DATABASE_URL,api-migration-safety 需\n MIGRATION_TEST_ADMIN_URL(这三份报告刻意不提交,见上一轮说明)\n- 1 条崩栈:os-product-host-ui\n- 2 条级联:os-product-layer 卡在 host-ui 报告,\n os-product-registration-verification 卡在 target OS checkout 与 runtime 验收证据\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/d970541bd56e5f82659322c8f738d2f5d49c1770","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:41:17-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"8d74d4d814aad8e2df43f867e1dd61baf59b9075","message":"fix(governance): 命名门禁 32 条违规逐行豁免 —— 治理脚本里的 terminal 是终态不是终端\n\na0ebf77(当前 HEAD 的前一提交)引入 scripts/lib/database-rls-*-governance.mjs 与\nos-product-migration-governance.mjs 时,命名门禁没跑过——提交后 naming 由 0 条变\n32 条,而 reports/naming.latest.json 停在 09-01 的 violations: 0,没人看得见。\n这正是\"无一份证据绑定当前 HEAD\"的实际后果。\n\n32 条全部是误报类:\n- 31 × terminal:`employment-terminal-late-authority-revoke` 这类指的是**迁移序列\n 与 RLS 的终态**,业务词典要求改成 device(设备)在这里是错的\n- 1 × business:`shared business database` 是 PostgreSQL 术语,不是业务方\n\n扫描面与词典自 2026-08-25 bootstrap 起未变,所以不是门禁改严了,是新代码撞上了\n一直存在的词表。\n\n用门禁自带的逐行 `// naming-ignore` 机制,并逐条写明理由——不收窄 SCAN_DIRS:\n治理脚本里同样会出现业务概念名,去掉 scripts/ 会让真的违规漏网。豁免要作者写明,\n不能按路径猜,与工作区一致性门禁的 `\u003c!-- 一致性门禁豁免 --\u003e` 同一口径。\n\n改动只在行尾追加注释,5 处含模板字符串的行已逐一核对反引号在同行闭合。\n三份治理模块的自有测试 311/311 通过,四个文件 node --check 通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/8d74d4d814aad8e2df43f867e1dd61baf59b9075","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:40:57-07:00","added":[],"removed":[],"modified":["scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs"]},{"id":"7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,并记下 naming 的 32 条真实违规\n\n迁移后本仓 37 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,其中\n15 份正文还带着 /Users/ailaoluo/ 的两代前绝对根——那是另一台机器。所以此前既不能\n说\"当前 HEAD 是绿的\",也不能说\"是红的\",它一直是未知数。\n\n本次在 clean HEAD (a0ebf77) 上重跑全部静态门禁:12 通过 / 8 失败,提交其中 15 份\n(provenance 全部 gitSha=a0ebf77 且 worktreeDirty=false)。\n\n**一条真实失败:check-naming 32 条违规。** 上一份报告(09-01)记的是 violations: 0。\n命中全部落在门禁脚本自己身上——scripts/lib/database-rls-history-governance.mjs 的\n`terminal`(RLS 终态)被业务词典判成应改为 device,check-api-migration-safety.mjs 的\n`business database` 判成应改为 merchant。业务词典的扫描面覆盖到了治理脚本,而那里的\n词是技术义不是业务义。这是扫描面扩大后出现的误报类失败,词典或扫描面需收敛。\n\n**刻意不提交 3 份**:dual-backend-behavior / health-dependency-failure /\noutbox-multi-instance 因缺 DATABASE_URL 写出 failed——那是跑不起来,不是判定失败,\n记进去会把环境缺失伪装成质量问题。\n\n**保留两份 OS 产品的失败报告**:os-product-layer 与 os-product-registration-verification\n这次的失败理由是当前的(前者卡 host-ui 报告、后者卡 target OS checkout 与 runtime\n验收证据),且不再含两代前的绝对根——比它们替换掉的旧报告更可用。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:35:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5038,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T12: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
|
6
|
1789458920
|
1789458978
|
0
|
1789458920
|
1789458979
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23973
|
chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多 chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败...
|
83
|
5
|
platform-governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
3c9f6df78f540226554cb4ecc6115741fe478c41
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a0ebf7769727344892ab96c1240bd809b5791430","after":"3c9f6df78f540226554cb4ecc6115741fe478c41","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a0ebf7769727344892ab96c1240bd809b5791430...3c9f6df78f540226554cb4ecc6115741fe478c41","commits":[{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d970541bd56e5f82659322c8f738d2f5d49c1770","message":"chore(governance): 命名门禁修复后在新 HEAD 上重跑,静态面由 12 通过升为 13\n\n上一提交(8d74d4d)改了 scripts/ 下四个治理模块,按证据纪律旧报告随即失效——\n本提交只动 reports/,绑定 8d74d4d,与源码内容一一对应。\n\n静态门禁 13 通过 / 7 失败。7 条里没有一条是本仓代码质量问题:\n- 4 条缺实例:dual-backend-behavior / health-dependency-failure /\n outbox-multi-instance 需 DATABASE_URL,api-migration-safety 需\n MIGRATION_TEST_ADMIN_URL(这三份报告刻意不提交,见上一轮说明)\n- 1 条崩栈:os-product-host-ui\n- 2 条级联:os-product-layer 卡在 host-ui 报告,\n os-product-registration-verification 卡在 target OS checkout 与 runtime 验收证据\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/d970541bd56e5f82659322c8f738d2f5d49c1770","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:41:17-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"8d74d4d814aad8e2df43f867e1dd61baf59b9075","message":"fix(governance): 命名门禁 32 条违规逐行豁免 —— 治理脚本里的 terminal 是终态不是终端\n\na0ebf77(当前 HEAD 的前一提交)引入 scripts/lib/database-rls-*-governance.mjs 与\nos-product-migration-governance.mjs 时,命名门禁没跑过——提交后 naming 由 0 条变\n32 条,而 reports/naming.latest.json 停在 09-01 的 violations: 0,没人看得见。\n这正是\"无一份证据绑定当前 HEAD\"的实际后果。\n\n32 条全部是误报类:\n- 31 × terminal:`employment-terminal-late-authority-revoke` 这类指的是**迁移序列\n 与 RLS 的终态**,业务词典要求改成 device(设备)在这里是错的\n- 1 × business:`shared business database` 是 PostgreSQL 术语,不是业务方\n\n扫描面与词典自 2026-08-25 bootstrap 起未变,所以不是门禁改严了,是新代码撞上了\n一直存在的词表。\n\n用门禁自带的逐行 `// naming-ignore` 机制,并逐条写明理由——不收窄 SCAN_DIRS:\n治理脚本里同样会出现业务概念名,去掉 scripts/ 会让真的违规漏网。豁免要作者写明,\n不能按路径猜,与工作区一致性门禁的 `\u003c!-- 一致性门禁豁免 --\u003e` 同一口径。\n\n改动只在行尾追加注释,5 处含模板字符串的行已逐一核对反引号在同行闭合。\n三份治理模块的自有测试 311/311 通过,四个文件 node --check 通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/8d74d4d814aad8e2df43f867e1dd61baf59b9075","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:40:57-07:00","added":[],"removed":[],"modified":["scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs"]},{"id":"7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,并记下 naming 的 32 条真实违规\n\n迁移后本仓 37 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,其中\n15 份正文还带着 /Users/ailaoluo/ 的两代前绝对根——那是另一台机器。所以此前既不能\n说\"当前 HEAD 是绿的\",也不能说\"是红的\",它一直是未知数。\n\n本次在 clean HEAD (a0ebf77) 上重跑全部静态门禁:12 通过 / 8 失败,提交其中 15 份\n(provenance 全部 gitSha=a0ebf77 且 worktreeDirty=false)。\n\n**一条真实失败:check-naming 32 条违规。** 上一份报告(09-01)记的是 violations: 0。\n命中全部落在门禁脚本自己身上——scripts/lib/database-rls-history-governance.mjs 的\n`terminal`(RLS 终态)被业务词典判成应改为 device,check-api-migration-safety.mjs 的\n`business database` 判成应改为 merchant。业务词典的扫描面覆盖到了治理脚本,而那里的\n词是技术义不是业务义。这是扫描面扩大后出现的误报类失败,词典或扫描面需收敛。\n\n**刻意不提交 3 份**:dual-backend-behavior / health-dependency-failure /\noutbox-multi-instance 因缺 DATABASE_URL 写出 failed——那是跑不起来,不是判定失败,\n记进去会把环境缺失伪装成质量问题。\n\n**保留两份 OS 产品的失败报告**:os-product-layer 与 os-product-registration-verification\n这次的失败理由是当前的(前者卡 host-ui 报告、后者卡 target OS checkout 与 runtime\n验收证据),且不再含两代前的绝对根——比它们替换掉的旧报告更可用。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:35:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5038,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T12: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
|
1
|
8
|
1789458978
|
1789459054
|
0
|
1789458920
|
1789459054
|
|
|
0
|
Edit
Delete
|
|
24313
|
fix(governance): preserve least-privilege product fix(governance): preserve least-privilege product ACLs...
|
83
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3c9f6df78f540226554cb4ecc6115741fe478c41","after":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/3c9f6df78f540226554cb4ecc6115741fe478c41...a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","commits":[{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},{"id":"6f4f4e321ecefcfb5a7401136f0294caae21da91","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-ai-hr-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-ai-hr-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6f4f4e321ecefcfb5a7401136f0294caae21da91","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:31-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5174,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T15:55: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
|
1789964503
|
1789964594
|
0
|
1789963588
|
1789964596
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24314
|
fix(governance): preserve least-privilege product fix(governance): preserve least-privilege product ACLs...
|
83
|
5
|
platform-governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3c9f6df78f540226554cb4ecc6115741fe478c41","after":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/3c9f6df78f540226554cb4ecc6115741fe478c41...a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","commits":[{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},{"id":"6f4f4e321ecefcfb5a7401136f0294caae21da91","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-ai-hr-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-ai-hr-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6f4f4e321ecefcfb5a7401136f0294caae21da91","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:31-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5174,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T15:55: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
|
8
|
1789964594
|
1789964624
|
0
|
1789963588
|
1789964685
|
|
|
0
|
Edit
Delete
|
|
24365
|
feat(facts): deliver HR intents to platform intake
|
83
|
5
|
governance.yml
|
16
|
5
|
0
|
refs/heads/main
|
6bcf19c3b11b5ab30d84994844f1148c57e5c71f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","after":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97...6bcf19c3b11b5ab30d84994844f1148c57e5c71f","commits":[{"id":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","message":"feat(facts): deliver HR intents to platform intake\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6bcf19c3b11b5ab30d84994844f1148c57e5c71f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:36:55-07:00","added":["apps/api-fastify/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-fastify/src/plugins/enterprise-fact-relay.ts","apps/api-nestjs/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay-dispatcher.service.ts","docs/deployment-record-2026-09-22-enterprise-fact-relay.md","docs/enterprise-fact-delivery.md","packages/enterprise-fact-publisher/README.md","packages/enterprise-fact-publisher/package.json","packages/enterprise-fact-publisher/src/index.test.ts","packages/enterprise-fact-publisher/src/index.ts","packages/enterprise-fact-publisher/tsconfig.json"],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","docs/platform-shared-dev.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","pnpm-lock.yaml","turbo.json"]}],"total_commits":0,"head_commit":{"id":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","message":"feat(facts): deliver HR intents to platform intake\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6bcf19c3b11b5ab30d84994844f1148c57e5c71f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:36:55-07:00","added":["apps/api-fastify/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-fastify/src/plugins/enterprise-fact-relay.ts","apps/api-nestjs/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay-dispatcher.service.ts","docs/deployment-record-2026-09-22-enterprise-fact-relay.md","docs/enterprise-fact-delivery.md","packages/enterprise-fact-publisher/README.md","packages/enterprise-fact-publisher/package.json","packages/enterprise-fact-publisher/src/index.test.ts","packages/enterprise-fact-publisher/src/index.ts","packages/enterprise-fact-publisher/tsconfig.json"],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","docs/platform-shared-dev.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","pnpm-lock.yaml","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":5310,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-21T12:06: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
|
1790135138
|
1790135202
|
0
|
1790134650
|
1790135203
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24366
|
feat(facts): deliver HR intents to platform intake
|
83
|
5
|
platform-governance.yml
|
17
|
5
|
0
|
refs/heads/main
|
6bcf19c3b11b5ab30d84994844f1148c57e5c71f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","after":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97...6bcf19c3b11b5ab30d84994844f1148c57e5c71f","commits":[{"id":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","message":"feat(facts): deliver HR intents to platform intake\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6bcf19c3b11b5ab30d84994844f1148c57e5c71f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:36:55-07:00","added":["apps/api-fastify/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-fastify/src/plugins/enterprise-fact-relay.ts","apps/api-nestjs/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay-dispatcher.service.ts","docs/deployment-record-2026-09-22-enterprise-fact-relay.md","docs/enterprise-fact-delivery.md","packages/enterprise-fact-publisher/README.md","packages/enterprise-fact-publisher/package.json","packages/enterprise-fact-publisher/src/index.test.ts","packages/enterprise-fact-publisher/src/index.ts","packages/enterprise-fact-publisher/tsconfig.json"],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","docs/platform-shared-dev.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","pnpm-lock.yaml","turbo.json"]}],"total_commits":0,"head_commit":{"id":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","message":"feat(facts): deliver HR intents to platform intake\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6bcf19c3b11b5ab30d84994844f1148c57e5c71f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:36:55-07:00","added":["apps/api-fastify/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-fastify/src/plugins/enterprise-fact-relay.ts","apps/api-nestjs/prisma/migrations/20260922010000_enterprise_fact_stream_order/migration.sql","apps/api-nestjs/src/events/enterprise-fact-relay-dispatcher.service.ts","docs/deployment-record-2026-09-22-enterprise-fact-relay.md","docs/enterprise-fact-delivery.md","packages/enterprise-fact-publisher/README.md","packages/enterprise-fact-publisher/package.json","packages/enterprise-fact-publisher/src/index.test.ts","packages/enterprise-fact-publisher/src/index.ts","packages/enterprise-fact-publisher/tsconfig.json"],"removed":[],"modified":["apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/enterprise-fact-relay.ts","apps/api-fastify/src/modules/personnel/personnel.service.ts","apps/api-fastify/test/database-rls.integration.test.ts","apps/api-fastify/test/enterprise-fact-relay.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/events/enterprise-fact-relay.service.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/personnel/personnel.service.ts","apps/api-nestjs/test/database-rls.integration.test.ts","apps/api-nestjs/test/enterprise-fact-relay.test.ts","docs/platform-shared-dev.md","packages/contracts/src/enterprise-fact.test.ts","packages/contracts/src/enterprise-fact.ts","pnpm-lock.yaml","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":5310,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-21T12:06: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
|
1
|
8
|
1790135202
|
1790135229
|
0
|
1790134650
|
1790135229
|
|
|
0
|
Edit
Delete
|
|
24367
|
docs(deploy): record fact relay database rollout
|
83
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
1bb5f6d02b525dc68c53f86d4543d78f6fd1073e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6bcf19c3b11b5ab30d84994844f1148c57e5c71f","after":"1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/6bcf19c3b11b5ab30d84994844f1148c57e5c71f...1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","commits":[{"id":"1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","message":"docs(deploy): record fact relay database rollout\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:54:31-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-22-enterprise-fact-relay.md"]}],"total_commits":0,"head_commit":{"id":"1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","message":"docs(deploy): record fact relay database rollout\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/1bb5f6d02b525dc68c53f86d4543d78f6fd1073e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-22T20:54:31-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-22-enterprise-fact-relay.md"]},"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":5665,"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":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-23T11:37:30+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1790136149
|
1790136202
|
0
|
1790135688
|
1790136204
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|