|
23521
|
feat(image-edit): harden masked editing acceptance
|
57
|
5
|
governance.yml
|
4
|
5
|
0
|
refs/heads/main
|
7a7e42422a19f6ad4c86d4cd320119a7fc912885
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ba48645a4237735976c13184c3aac435bc868949","after":"7a7e42422a19f6ad4c86d4cd320119a7fc912885","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/ba48645a4237735976c13184c3aac435bc868949...7a7e42422a19f6ad4c86d4cd320119a7fc912885","commits":[{"id":"7a7e42422a19f6ad4c86d4cd320119a7fc912885","message":"feat(image-edit): harden masked editing acceptance\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7a7e42422a19f6ad4c86d4cd320119a7fc912885","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:34:04-07:00","added":["apps/api-fastify/prisma/migrations/20260825090000_add_render_job_edit_sources/migration.sql","apps/api-nestjs/prisma/migrations/20260825090000_add_render_job_edit_sources/migration.sql","scripts/lib/source-fingerprint.mjs","services/model-sidecar/test_mask_composite.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/store/useFactoryStore.ts","packages/contracts/src/material.test.ts","packages/contracts/src/material.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-production-acceptance.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/main.py"]}],"total_commits":0,"head_commit":{"id":"7a7e42422a19f6ad4c86d4cd320119a7fc912885","message":"feat(image-edit): harden masked editing acceptance\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7a7e42422a19f6ad4c86d4cd320119a7fc912885","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:34:04-07:00","added":["apps/api-fastify/prisma/migrations/20260825090000_add_render_job_edit_sources/migration.sql","apps/api-nestjs/prisma/migrations/20260825090000_add_render_job_edit_sources/migration.sql","scripts/lib/source-fingerprint.mjs","services/model-sidecar/test_mask_composite.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/store/useFactoryStore.ts","packages/contracts/src/material.test.ts","packages/contracts/src/material.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-production-acceptance.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/main.py"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":43836,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-08-24T22:16:47+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1787675667
|
1787675695
|
0
|
1787675666
|
1787675695
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23694
|
feat(image): apply generation types to prompts and feat(image): apply generation types to prompts and sync pending improvements...
|
57
|
5
|
governance.yml
|
65
|
5
|
0
|
refs/heads/main
|
331207e18244f62f97d70a26309d178629cd6498
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6476b76f819946f7e8a13042e1a2d9648fcf714a","after":"331207e18244f62f97d70a26309d178629cd6498","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/6476b76f819946f7e8a13042e1a2d9648fcf714a...331207e18244f62f97d70a26309d178629cd6498","commits":[{"id":"331207e18244f62f97d70a26309d178629cd6498","message":"feat(image): apply generation types to prompts and sync pending improvements\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/331207e18244f62f97d70a26309d178629cd6498","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T09:34:33-07:00","added":["apps/web/src/lib/image-generation-defaults.test.mjs","apps/web/src/lib/image-generation-defaults.ts","docs/governance/log/2026-09-08-image-type-prompt-sync.md","packages/contracts/src/image-type-prompt.test.ts"],"removed":[],"modified":["apps/web/src/components/material-factory/CreateStudio.tsx","deploy/vm/Dockerfile","deploy/vm/sidecar.Dockerfile","docs/deploy-vm.md","packages/contracts/src/material.ts","reports/content-detail.failure.png","reports/content-detail.failure.txt","reports/content-detail.output-mobile.png","reports/toolchain.latest.json","reports/ui-failure.png","reports/ui-failure.txt","scripts/lib/toolchain-policy.mjs","scripts/toolchain-policy.test.mjs"]}],"total_commits":0,"head_commit":{"id":"331207e18244f62f97d70a26309d178629cd6498","message":"feat(image): apply generation types to prompts and sync pending improvements\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/331207e18244f62f97d70a26309d178629cd6498","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T09:34:33-07:00","added":["apps/web/src/lib/image-generation-defaults.test.mjs","apps/web/src/lib/image-generation-defaults.ts","docs/governance/log/2026-09-08-image-type-prompt-sync.md","packages/contracts/src/image-type-prompt.test.ts"],"removed":[],"modified":["apps/web/src/components/material-factory/CreateStudio.tsx","deploy/vm/Dockerfile","deploy/vm/sidecar.Dockerfile","docs/deploy-vm.md","packages/contracts/src/material.ts","reports/content-detail.failure.png","reports/content-detail.failure.txt","reports/content-detail.output-mobile.png","reports/toolchain.latest.json","reports/ui-failure.png","reports/ui-failure.txt","scripts/lib/toolchain-policy.mjs","scripts/toolchain-policy.test.mjs"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":642285,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T00:19:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788885290
|
1788885411
|
0
|
1788885288
|
1788885411
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23892
|
feat(image): Dockerfile 改 pnpm fetch 分层(网络层只随 lock feat(image): Dockerfile 改 pnpm fetch 分层(网络层只随 lockfile 失效)+ CI image job(构建 / SBOM / 有密钥才签;D-1 / D-2)...
|
116
|
5
|
platform.yml
|
18
|
5
|
0
|
refs/heads/main
|
f0956259a231da48063f98a22ad35b52a3699916
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8a95879f7501b2874d73cf1f36f07f7673695db3","after":"f0956259a231da48063f98a22ad35b52a3699916","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/8a95879f7501b2874d73cf1f36f07f7673695db3...f0956259a231da48063f98a22ad35b52a3699916","commits":[{"id":"f0956259a231da48063f98a22ad35b52a3699916","message":"feat(image): Dockerfile 改 pnpm fetch 分层(网络层只随 lockfile 失效)+ CI image job(构建 / SBOM / 有密钥才签;D-1 / D-2)\n\n- runtime/Dockerfile:先拷 pnpm-lock.yaml / pnpm-workspace.yaml / .npmrc 做 pnpm fetch,再 COPY 源码后 --prefer-offline 安装与 deploy;secret 挂载不变\n- .github/workflows/platform.yml:新增 image job(needs static;private-npm 认证后在 RUNNER_TEMP 写已解析 npmrc 只作 --secret 源;build-image --context head;syft v1.20.0 → SBOM;cosign-installer v2.4.1,COSIGN_PRIVATE_KEY 为空或镜像未推送时明确跳过;产物 platform-image-\u003ctag\u003e artifact,不推 registry);governance 测试 106/106\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f0956259a231da48063f98a22ad35b52a3699916","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T03:30:52-07:00","added":[],"removed":[],"modified":[".github/workflows/platform.yml","runtime/Dockerfile"]},{"id":"adce2faa641ce031f52acbd29e231bb241c13186","message":"feat(image): D-1 runtime 镜像 + D-2 SBOM / 签名接线——Dockerfile、build-image / sbom / sign-image / smoke-image 脚本、compose 候选块(开发计划 §3A D-1 / D-2;设计 §12 / §14)\n\n- runtime/Dockerfile(多阶段):node:20-bookworm-slim 按 digest 锁定;--frozen-lockfile;私有 registry token 只经 BuildKit secret(--secret id=npmrc)进入安装层;prisma generate;pnpm --filter \"api-nestjs...\" build;pnpm deploy --prod 剪枝到 api-nestjs + 七模块 + kit + @repo/contracts,显式补拷 dist、去掉 src / test;运行阶段非 root、HEALTHCHECK 打 /api/health;入口 apps/api-nestjs/dist/src/main.js,profile 装载器向上找到 /srv/runtime/modules.json\n- governance/build-image.mjs:默认 --context head = git archive HEAD:runtime(本机 WIP 不进镜像),写 reports/image-digest.json(image id + digestKind 说明、sourceSha、worktreeDirty、dockerfileTracked、平台、大小、基础镜像)\n- governance/sbom.mjs(syft / docker sbom → reports/sbom.spdx.json + sbom.latest.json;无工具退出 3)、governance/sign-image.mjs(cosign + COSIGN_KEY 只签 registry 引用;未推送 / 无密钥 / 无 cosign 明确跳过)、governance/smoke-image.mjs(起容器 → /api/health 200 → 模块视图 → 首模块 /health → 决策端点无凭证 401 → HEALTHCHECK healthy → reports/image-smoke.latest.json)\n- 根脚本 image:build / image:smoke / image:sbom / image:sign;compose 增 runtime 候选注释块(含生产守卫所需 env:ALERT_CHANNEL、AUTH_MODE=jwt + 密钥源、APP_ID、TENANT_RLS_MODE=enforce + DATABASE_RUNTIME_URL);runbook §2 容器方式 + env 表;stack / governance README 登记\n- 证据(试建 enterprise-platform/runtime:trial,linux/arm64,142 MB):冒烟六项全过——scope profile 装载 fail-closed、/api/health database / redis up、模块健康 200、无凭证 401、Docker HEALTHCHECK healthy;四份 compose config 通过;governance 测试 106/106。正式 digest 报告在本提交之后按 HEAD 重建\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/adce2faa641ce031f52acbd29e231bb241c13186","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T03:29:53-07:00","added":["governance/build-image.mjs","governance/sbom.mjs","governance/sign-image.mjs","governance/smoke-image.mjs","runtime/.dockerignore","runtime/Dockerfile"],"removed":[],"modified":["docs/runbook.md","governance/README.md","package.json","stack/README.md","stack/compose.yaml"]}],"total_commits":0,"head_commit":{"id":"f0956259a231da48063f98a22ad35b52a3699916","message":"feat(image): Dockerfile 改 pnpm fetch 分层(网络层只随 lockfile 失效)+ CI image job(构建 / SBOM / 有密钥才签;D-1 / D-2)\n\n- runtime/Dockerfile:先拷 pnpm-lock.yaml / pnpm-workspace.yaml / .npmrc 做 pnpm fetch,再 COPY 源码后 --prefer-offline 安装与 deploy;secret 挂载不变\n- .github/workflows/platform.yml:新增 image job(needs static;private-npm 认证后在 RUNNER_TEMP 写已解析 npmrc 只作 --secret 源;build-image --context head;syft v1.20.0 → SBOM;cosign-installer v2.4.1,COSIGN_PRIVATE_KEY 为空或镜像未推送时明确跳过;产物 platform-image-\u003ctag\u003e artifact,不推 registry);governance 测试 106/106\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f0956259a231da48063f98a22ad35b52a3699916","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T03:30:52-07:00","added":[],"removed":[],"modified":[".github/workflows/platform.yml","runtime/Dockerfile"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3453,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T18:21:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
10
|
0
|
1789209229
|
0
|
1789209155
|
1789209229
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23588
|
feat(idp): 新增切换前置校验
|
96
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
456d79abd599208f2a7d6fe388f4f71b56e7ee89
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"456d79abd599208f2a7d6fe388f4f71b56e7ee89","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"456d79abd599208f2a7d6fe388f4f71b56e7ee89","message":"feat(idp): 新增切换前置校验\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/456d79abd599208f2a7d6fe388f4f71b56e7ee89","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/idp-cutover-blueprint.md","packages/contracts/src/idp-cutover.test.ts","packages/contracts/src/idp-cutover.ts"],"removed":[],"modified":[".github/workflows/governance.yml","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"7becd6b2d616a6bddc65e273004a252a5bd63d1c","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/7becd6b2d616a6bddc65e273004a252a5bd63d1c","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:08-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"68cdd9bbcca158d6686077abb55b1a51783256eb","message":"feat: 平台身份重绑定 enterprise-idp(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/68cdd9bbcca158d6686077abb55b1a51783256eb","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:01-07:00","added":["docs/framework-migration.md","products/juhai.idp/README.md","products/juhai.idp/acceptance/juhai.idp.order.acceptance.mjs","products/juhai.idp/migrations/juhai.idp.order/20260826090000_create_orders.sql","products/juhai.idp/migrations/juhai.idp.order/20260826091000_create_order_events.sql","products/juhai.idp/package.json","products/juhai.idp/product.manifest.json","products/juhai.idp/src/contracts.ts","products/juhai.idp/src/fastify.ts","products/juhai.idp/src/host.ts","products/juhai.idp/src/index.ts","products/juhai.idp/src/manifest.ts","products/juhai.idp/src/nestjs.ts","products/juhai.idp/src/order-repository.ts","products/juhai.idp/src/tools.ts","products/juhai.idp/src/web.tsx","products/juhai.idp/test/os-host.runtime.test.ts","products/juhai.idp/tsconfig.os-host.json","products/juhai.idp/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"4c29740da375e0e949c8f075b8b86a9331ce15ba","message":"chore: check:kernel 复跑证据刷新(bootstrap 脚本幂等验证)\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/4c29740da375e0e949c8f075b8b86a9331ce15ba","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:50:34-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"f16b4297a48802b0dd920b9c892dadc88da97748","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/f16b4297a48802b0dd920b9c892dadc88da97748","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:18-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"456d79abd599208f2a7d6fe388f4f71b56e7ee89","message":"feat(idp): 新增切换前置校验\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-idp/commit/456d79abd599208f2a7d6fe388f4f71b56e7ee89","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/idp-cutover-blueprint.md","packages/contracts/src/idp-cutover.test.ts","packages/contracts/src/idp-cutover.ts"],"removed":[],"modified":[".github/workflows/governance.yml","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":96,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-idp","full_name":"luoanwu/enterprise-idp","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-idp/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-idp","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-idp","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-idp.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-idp.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:57:53+08:00","updated_at":"2026-09-01T21:59:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788271315
|
1788278640
|
0
|
1788271184
|
1788330039
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23584
|
feat(identity): 新增机器凭据租约规划
|
101
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
bcf51b52439dd8d332699a9f312305c102f9d379
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"bcf51b52439dd8d332699a9f312305c102f9d379","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"bcf51b52439dd8d332699a9f312305c102f9d379","message":"feat(identity): 新增机器凭据租约规划\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/bcf51b52439dd8d332699a9f312305c102f9d379","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["apps/api-nestjs/src/identity/machine-credential-lease.service.ts","docs/domain/machine-credential-preflight-blueprint.md","packages/contracts/src/machine-credential-lease-planner.test.ts","packages/contracts/src/machine-credential-lease-planner.ts","packages/contracts/src/machine-credential-preflight.test.ts","packages/contracts/src/machine-credential-preflight.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"5a30437c2e16e8bdff9d309b98114e206640ea02","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/5a30437c2e16e8bdff9d309b98114e206640ea02","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:22-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"a1dc3c53039fa8bca3d4d2f0e99fb2b1138cf5eb","message":"feat: 平台身份重绑定 secret-identity(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/a1dc3c53039fa8bca3d4d2f0e99fb2b1138cf5eb","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:15-07:00","added":["docs/framework-migration.md","products/juhai.secretidentity/README.md","products/juhai.secretidentity/acceptance/juhai.secretidentity.order.acceptance.mjs","products/juhai.secretidentity/migrations/juhai.secretidentity.order/20260826090000_create_orders.sql","products/juhai.secretidentity/migrations/juhai.secretidentity.order/20260826091000_create_order_events.sql","products/juhai.secretidentity/package.json","products/juhai.secretidentity/product.manifest.json","products/juhai.secretidentity/src/contracts.ts","products/juhai.secretidentity/src/fastify.ts","products/juhai.secretidentity/src/host.ts","products/juhai.secretidentity/src/index.ts","products/juhai.secretidentity/src/manifest.ts","products/juhai.secretidentity/src/nestjs.ts","products/juhai.secretidentity/src/order-repository.ts","products/juhai.secretidentity/src/tools.ts","products/juhai.secretidentity/src/web.tsx","products/juhai.secretidentity/test/os-host.runtime.test.ts","products/juhai.secretidentity/tsconfig.os-host.json","products/juhai.secretidentity/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"b46f5611ca1b6b7f266bcc88bc5e9b14957c9ceb","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/b46f5611ca1b6b7f266bcc88bc5e9b14957c9ceb","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:19-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"ff8f10d152a443b4fbe8991435485a23a42185dd","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/ff8f10d152a443b4fbe8991435485a23a42185dd","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:47:10-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"bcf51b52439dd8d332699a9f312305c102f9d379","message":"feat(identity): 新增机器凭据租约规划\n","url":"https://gitea.g-hi.com/luoanwu/secret-identity/commit/bcf51b52439dd8d332699a9f312305c102f9d379","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["apps/api-nestjs/src/identity/machine-credential-lease.service.ts","docs/domain/machine-credential-preflight-blueprint.md","packages/contracts/src/machine-credential-lease-planner.test.ts","packages/contracts/src/machine-credential-lease-planner.ts","packages/contracts/src/machine-credential-preflight.test.ts","packages/contracts/src/machine-credential-preflight.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":101,"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":"secret-identity","full_name":"luoanwu/secret-identity","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/secret-identity/languages","html_url":"https://gitea.g-hi.com/luoanwu/secret-identity","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/secret-identity","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/secret-identity.git","clone_url":"https://gitea.g-hi.com/luoanwu/secret-identity.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:58:03+08:00","updated_at":"2026-09-01T21:59:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788271212
|
1788271238
|
0
|
1788271183
|
1788280440
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
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
|
|
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
|
|
17873
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
ci.yml
|
17794
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
14
|
1777247080
|
1777247205
|
0
|
1777247078
|
1777247904
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17874
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
e2e-tests.yml
|
17795
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1777247205
|
1777247717
|
0
|
1777247079
|
1777247915
|
|
|
0
|
Edit
Delete
|
|
17875
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
test-pipeline.yml
|
17796
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
72
|
1777247718
|
1777247900
|
0
|
1777247079
|
1777247984
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
17876
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17797
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777247901
|
1777247901
|
0
|
1777247150
|
1777247901
|
|
|
0
|
Edit
Delete
|
|
17877
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17798
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777247905
|
1777247906
|
0
|
1777247450
|
1777247906
|
|
|
0
|
Edit
Delete
|
|
17878
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
test-report.yml
|
17799
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17874,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17874","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17874","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17795,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:46:45+08:00","completed_at":"2026-04-27T07:55:17+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1777247907
|
1777247912
|
0
|
1777247717
|
1777247934
|
|
|
0
|
Edit
Delete
|
|
17879
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17800
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777247916
|
1777247917
|
0
|
1777247750
|
1777247917
|
|
|
0
|
Edit
Delete
|
|
17880
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
deploy.yml
|
17801
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17875,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17796,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:55:18+08:00","completed_at":"2026-04-27T07:58:20+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
26
|
1777247918
|
1777247980
|
0
|
1777247900
|
1777247981
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17881
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
test-report.yml
|
17802
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17874,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17874","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17874","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17795,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:46:45+08:00","completed_at":"2026-04-27T07:55:17+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1777247936
|
1777247939
|
0
|
1777247916
|
1777247975
|
|
|
0
|
Edit
Delete
|
|
17882
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
deploy.yml
|
17803
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17875,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17796,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:55:18+08:00","completed_at":"2026-04-27T07:58:20+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
12
|
0
|
1777247984
|
0
|
1777247982
|
1777247986
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17883
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
deploy.yml
|
17804
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17875,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17796,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:55:18+08:00","completed_at":"2026-04-27T07:58:20+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
12
|
0
|
1777247988
|
0
|
1777247986
|
1777247989
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17884
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
deploy.yml
|
17805
|
5
|
0
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T16:44:26-07:00","updated_at":"2026-04-26T16:44:26-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17875,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17875","display_title":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17796,"head_sha":"49ceca46def207082a6f7c5bf4718306d971843a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T07:55:18+08:00","completed_at":"2026-04-27T07:58:20+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218456,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T07:44: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
1
|
40
|
1777247990
|
1777248014
|
0
|
1777247990
|
1777248014
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17885
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17806
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777248051
|
1777248051
|
0
|
1777248050
|
1777248051
|
|
|
0
|
Edit
Delete
|
|
17886
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
e2e-tests.yml
|
17807
|
-2
|
312
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
20
|
1777248052
|
1777248131
|
0
|
1777248050
|
1777248135
|
|
|
0
|
Edit
Delete
|
|
17887
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17808
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777248352
|
1777248352
|
0
|
1777248350
|
1777248352
|
|
|
0
|
Edit
Delete
|
|
17888
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17809
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777248712
|
1777248712
|
0
|
1777248710
|
1777248712
|
|
|
0
|
Edit
Delete
|
|
17889
|
feat(harness): grade.ts 加 hasInheritedTestCoverage feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖...
|
6
|
5
|
health-check.yml
|
17810
|
-2
|
313
|
refs/heads/main
|
49ceca46def207082a6f7c5bf4718306d971843a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"438f3d17a7553218c764ffef33c45904617acd90","after":"49ceca46def207082a6f7c5bf4718306d971843a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/438f3d17a7553218c764ffef33c45904617acd90...49ceca46def207082a6f7c5bf4718306d971843a","commits":[{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]}],"total_commits":0,"head_commit":{"id":"49ceca46def207082a6f7c5bf4718306d971843a","message":"feat(harness): grade.ts 加 hasInheritedTestCoverage 让 BaseService stub 派生模块继承测试覆盖\n\nscripts/harness/grade.ts:\n- 新增 isBaseServiceStub(moduleName):识别 22 行 stub 模块(service 总行数 ≤30 + 含 `extends BaseService`),不含独立业务逻辑\n- 新增 hasInheritedTestCoverage(moduleName):stub 派生 + base.service.test.ts 文件存在 → True\n- gradeModule 中将 g3 升级判定从 `(tests.unit || tests.api)` 扩为 `testsEffective = tests.unit || tests.api || inheritedTests`\n- checks 数组里 stub 派生模块测试项 detail 显示\"继承(BaseService stub 派生)\"\n- score 计算保持不变(仍按独立测试文件存在打分),让 stub 模块 score 偏低提示 owner 后续若加业务逻辑及时补测试\n\n预期收益: 19 个原 G2 真治理债(abm-marketing / member-* / video-* / qr-codes 等 22 行 stub)全部升 G4,工作区从 G4=250(92.9%) 升到 G4=269(100%)。\n\nCLAUDE.md:\n- v5.4 仿真快照段更新预期数字到 G4=269(100%)/G2=0\n- 追加\"BaseService stub 派生测试继承经验\"段,明确 4 条边界(30 行阈值/base.service.test.ts 必存/与 moduleType 豁免互补/score 不豁免)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/49ceca46def207082a6f7c5bf4718306d971843a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T16:44:26-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/harness/grade.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218413,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T00: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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777248952
|
1777248952
|
0
|
1777248950
|
1777248952
|
|
|
0
|
Edit
Delete
|
|
24187
|
feat(governance): 覆盖度探针自己查「整支规则没接进评估器」——那是它此前按设计看不 feat(governance): 覆盖度探针自己查「整支规则没接进评估器」——那是它此前按设计看不见的盲区...
|
116
|
5
|
platform.yml
|
153
|
5
|
0
|
refs/heads/main
|
e79e5f2b943a633299851dbc7709455247a415ef
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"62c9d953569c6a146215a0e5511efc292e3f7740","after":"e79e5f2b943a633299851dbc7709455247a415ef","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/62c9d953569c6a146215a0e5511efc292e3f7740...e79e5f2b943a633299851dbc7709455247a415ef","commits":[{"id":"e79e5f2b943a633299851dbc7709455247a415ef","message":"feat(governance): 覆盖度探针自己查「整支规则没接进评估器」——那是它此前按设计看不见的盲区\n\n上一条(62c9d95)把盲区与绕开它的两步写进了 CLAUDE.md,但那只是文档约束,人不比对就不会发现。\n本次把两项结构比对做进 governance/fixture-coverage.mjs:它们不依赖夹具,因而看得见「从没有用例的那一面」。\n\n1. 未接线列:导入域的 index.js,把导出的判定函数(assess|review|classify|select|decide|plan|preflight|\n evaluate 打头)与 planner 原型方法逐个对评估器源码里的引用,没被引用的报出来。\n2. !!! 行:评估器写成 `\"reasons\" in r ? … : []` 时提醒——该规则结果联合体里一旦出现不带 reasons 的\n 非放行出口(BLOCKED / SKIP_DUPLICATE / DLQ / DUPLICATE_NOOP / USE_LAST_KNOWN_GOOD)就会被静默判成 ACCEPT。\n\n对着 15 个真实套件跑,逮到两类误报,都已修,并写成用例钉住:\n- planner 多数经 createRuntimeX() 工厂到达,类名根本不出现在评估器里。按「类名没出现」判整支未接线会把\n 跨域流程、Webhook、public-file 等全报一遍。改成按「一个方法都没被调」判,并排除 status/get 这类\n 只读访问器与错误类(AiRouteRequestRejected / AuditRequestRejected 不是判定面)。\n- cost-capacity 与 notification-webhook 把旧写法 `\"reasons\" in d ? [...] : []` 抄在注释里当变更记录,\n 按原文匹配会把两个已经改对的域报成缺陷。改成先去注释再匹配。\n措辞也相应收敛:`!!!` 行现在说「今天未必已经出错,但联合体里一旦出现…就会被静默判成 ACCEPT」,\n而不是断言它已经错了——跨域流程那处就属于「今天正确、但脆」。\n\n新增 governance/test/fixture-coverage.test.mjs(3 例):该脚本此前是 governance/ 下唯一没有测试的。\n用临时自足域验三件事——只报没被调的方法、经工厂到达的类不报整支未接线、注释里的旧写法不报。\n\n当前读数(均未处理,已登记进 CLAUDE.md 同段):\n 九个契约包域 未接线 1 处:LocalWorkflowPlanner.refresh()\n 运行时模块侧 未接线 9 处:ai-gateway 2 / permission 3 / audit / credential / fact / scope 各 1\n\n证据:pnpm test(governance)364/364;check-fixtures 17 套件 468 例 0 失败;\n「夹具与单测都没有」仍 0 条;工作区一致性门禁只剩既有的 L9 compose project 撞名。\n脚本仍是诊断而非门禁——不写报告、不进 pnpm check,故本次不涉及 reports 回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e79e5f2b943a633299851dbc7709455247a415ef","author":{"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:51:13-07:00","added":["governance/test/fixture-coverage.test.mjs"],"removed":[],"modified":["governance/fixture-coverage.mjs"]},{"id":"fed1fd024bc60a4feef89dff7c2ec028e0bcb066","message":"docs(发布): 当场记录 rc.5 列车——三层判据随包出去,fact-pii 有意留在仓内\n\nrc.5 三包 2026-09-18 经本地旁路发出,源 cf05344,tag packages-v1.0.0-rc.5(连续第二趟按 CL-5\n打上)。三包均 registry integrity verified;产物 contracts 183.0 kB / governance 96.9 kB /\nclient-fact 17.4 kB,shasum 记在文档里。\n\n记录里写清了三件容易被误读的事:\n\n1. 发布物里有什么、没有什么。check-pins.mjs 在 governance 包的 files 里,三层判据随包出去,\n 消费者仓拿到新判据后因无 pins-baseline 而第三方层不启用,行为与 rc.4 一致(设计好的向后兼容)。\n check-fact-pii.mjs 与 fact-pii-rules.json **有意不进 files**——它扫 contracts/schemas/facts/,\n 消费者仓没有那个目录,发过去是道跑不起来的门禁。\n2. **CI 死锁解开了一半。** rc.4 那趟记的是双重不可用;本次实测 GitHub 镜像落后已从 237 条降到\n 24 条,推送死锁解开,但 Actions 最新 run 35404565689 仍 failure。计费一恢复即可直接走正道,\n 不必再先解死锁——这是四趟以来第一次出现的松动。\n3. 发布前验证的真实范围:构建 BUILD_EXIT=0、逐包核对产物内容与 provenance;**完整 pnpm check\n 没有在发布前跑**,发布后补跑(真实退出码 1,唯一失败是并行会话的 workbench-ops-snapshot 过期,\n 判据类全绿:pins、fact-pii、测试 361/361)。\n\n发布那一步由 Owner 在自己终端执行:本会话的 auto mode 安全分类器以 [Safety Bypass Flag] 拒绝了带\nPLATFORM_RELEASE_BYPASS_CI_EVIDENCE 的命令。那不算误伤,这个开关就是绕过 CI 证据链的。\n备料与验证由会话完成,最后一步由人按下——这个分工也记进了文档。\n\nCLAUDE.md 的 contracts 条目同步推到 rc.5,并记下 fact-pii 不随包这一条。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/fed1fd024bc60a4feef89dff7c2ec028e0bcb066","author":{"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:50:56-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/G-12本地旁路发布记录-2026-09-13.md"]},{"id":"5116dc5951412d8e6f037aafb4fe532fa38207a7","message":"chore(reports): check:fixtures 回绑 @ 62c9d95 —— 配置开关补的 10 例还没进报告\n\n已提交版绑 748492c、记 458 例;其后 contracts/src/domain/configuration-feature-flags/\nfixture-evaluator.ts 与对应夹具各有一次变更,现测 17 套件 468 例、失败 0、不可用 0。\n按「作用域内有无变更」判定该回绑,非按提交距离。产出绑 62c9d95、worktreeDirty=false\n(生成时主工作区恰好干净,未用临时检出)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/5116dc5951412d8e6f037aafb4fe532fa38207a7","author":{"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:49:08-07:00","added":[],"removed":[],"modified":["reports/fixtures.latest.json"]}],"total_commits":0,"head_commit":{"id":"e79e5f2b943a633299851dbc7709455247a415ef","message":"feat(governance): 覆盖度探针自己查「整支规则没接进评估器」——那是它此前按设计看不见的盲区\n\n上一条(62c9d95)把盲区与绕开它的两步写进了 CLAUDE.md,但那只是文档约束,人不比对就不会发现。\n本次把两项结构比对做进 governance/fixture-coverage.mjs:它们不依赖夹具,因而看得见「从没有用例的那一面」。\n\n1. 未接线列:导入域的 index.js,把导出的判定函数(assess|review|classify|select|decide|plan|preflight|\n evaluate 打头)与 planner 原型方法逐个对评估器源码里的引用,没被引用的报出来。\n2. !!! 行:评估器写成 `\"reasons\" in r ? … : []` 时提醒——该规则结果联合体里一旦出现不带 reasons 的\n 非放行出口(BLOCKED / SKIP_DUPLICATE / DLQ / DUPLICATE_NOOP / USE_LAST_KNOWN_GOOD)就会被静默判成 ACCEPT。\n\n对着 15 个真实套件跑,逮到两类误报,都已修,并写成用例钉住:\n- planner 多数经 createRuntimeX() 工厂到达,类名根本不出现在评估器里。按「类名没出现」判整支未接线会把\n 跨域流程、Webhook、public-file 等全报一遍。改成按「一个方法都没被调」判,并排除 status/get 这类\n 只读访问器与错误类(AiRouteRequestRejected / AuditRequestRejected 不是判定面)。\n- cost-capacity 与 notification-webhook 把旧写法 `\"reasons\" in d ? [...] : []` 抄在注释里当变更记录,\n 按原文匹配会把两个已经改对的域报成缺陷。改成先去注释再匹配。\n措辞也相应收敛:`!!!` 行现在说「今天未必已经出错,但联合体里一旦出现…就会被静默判成 ACCEPT」,\n而不是断言它已经错了——跨域流程那处就属于「今天正确、但脆」。\n\n新增 governance/test/fixture-coverage.test.mjs(3 例):该脚本此前是 governance/ 下唯一没有测试的。\n用临时自足域验三件事——只报没被调的方法、经工厂到达的类不报整支未接线、注释里的旧写法不报。\n\n当前读数(均未处理,已登记进 CLAUDE.md 同段):\n 九个契约包域 未接线 1 处:LocalWorkflowPlanner.refresh()\n 运行时模块侧 未接线 9 处:ai-gateway 2 / permission 3 / audit / credential / fact / scope 各 1\n\n证据:pnpm test(governance)364/364;check-fixtures 17 套件 468 例 0 失败;\n「夹具与单测都没有」仍 0 条;工作区一致性门禁只剩既有的 L9 compose project 撞名。\n脚本仍是诊断而非门禁——不写报告、不进 pnpm check,故本次不涉及 reports 回绑。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e79e5f2b943a633299851dbc7709455247a415ef","author":{"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:51:13-07:00","added":["governance/test/fixture-coverage.test.mjs"],"removed":[],"modified":["governance/fixture-coverage.mjs"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":21301,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":44,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-19T07:47:57+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789775554
|
1789775594
|
0
|
1789775554
|
1789775622
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24041
|
feat(governance): 新增 check-deferred-ops 门禁——变更包延后 feat(governance): 新增 check-deferred-ops 门禁——变更包延后 op 与活跃 Catalog 对账,并收口两条实际存在的坑...
|
117
|
5
|
governance.yml
|
25
|
5
|
0
|
refs/heads/main
|
ce042782a285d1d8a79e5c5a43636ea05f4868d3
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"589467ea0debc370a8800dc05cd744af7360cbbd","after":"ce042782a285d1d8a79e5c5a43636ea05f4868d3","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/589467ea0debc370a8800dc05cd744af7360cbbd...ce042782a285d1d8a79e5c5a43636ea05f4868d3","commits":[{"id":"ce042782a285d1d8a79e5c5a43636ea05f4868d3","message":"feat(governance): 新增 check-deferred-ops 门禁——变更包延后 op 与活跃 Catalog 对账,并收口两条实际存在的坑\n\n起因:CHG-003 与 CHG-006 对同一条目同一字段(application-contract-registry.code_truth)各留一条 applyAfter op 且目标值不同,后者已由 CHG-013 于 2026-09-16 应用;delta 文件之间从不互相校验,谁按「把剩余延后 op 补完」执行,就会把已生效值回归成更粗的路径,且没有任何门禁会红。\n\n门禁(D1—D6,阻断性,进 run-foundation-gates)把每条 op 按 aspect(set 逐字段 + add_evidence 子集)与活跃 Catalog 对账:全部生效须登记 appliedBy、半生效须用 appliedBy.aspects 写明已落的一半、被取代须登记 withdrawn(缺 reason/authority/recordedAt 即红)、凭声明当已应用即红。11 例单测含逐规则负向;IO 层在真实材料与真实 Catalog 上跑。负向实测:去掉 withdrawn 即 exit 1。\n\n随之收口三处:\n- CHG-003 注册中心那条登记 withdrawn(依据决策批次 A-2 附条件),enterprise-idp 那条登记 appliedBy.aspects=[\"code_truth\"]——它是半应用,set 由 PF-07 阶段 1 实现提交 99c3f52(2026-09-12)直接改到位、三条 add_evidence 从未落;CHG-006 那条登记 appliedBy(CHG-013)。\n- check-new-platform-catalog-change-readiness 的 expectedFormalWithdrawn 收窄:原先连 decisions 总数与 pendingDecisions 一起钉死,而那两个数不是「撤销」决定的——CHG-002 按 A-2 登记 DEC-037—039 为 pending 后(36→39 / 0→3)该门禁与撤销无关地恒红。改为只断言撤销真正决定的项目数(21 / 19),四项不在册与四条 DEC rejected 由原有两个循环逐项断言(比总数更强)。八条自带负向用例仍全绿。\n- simulate-chg-007 在包已应用后不再因 tests.delta 锚点漂移崩溃,如实报 status=already-applied(formalMutated 仍 false);护栏的冻结基线判定从钉死整行改为只认函数调用(004/005 加 --contracts=active 后那一行变成三元表达式,被误判成活跃基线)。\n\n治理层 365 例 358 通过,余 1 为报告登记数待本次报告入 git;阻断性门禁 10/10。开发计划 §8 的登记留到并行会话的在途编辑落地后补。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ce042782a285d1d8a79e5c5a43636ea05f4868d3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:14:54-07:00","added":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/scripts/check-deferred-ops.mjs","平台治理/基础/scripts/lib/deferred-ops-core.mjs","平台治理/基础/tests/deferred-ops.test.mjs"],"removed":[],"modified":["平台治理/doc/decisions/CHG-003-材料/README.md","平台治理/doc/decisions/CHG-003-材料/platform-projects.delta.json","平台治理/doc/decisions/CHG-006-材料/README.md","平台治理/doc/decisions/CHG-006-材料/platform-projects.delta.json","平台治理/基础/reports/登记.json","平台治理/基础/scripts/check-new-platform-catalog-change-readiness.mjs","平台治理/基础/scripts/simulate-chg-007.mjs","平台治理/基础/tests/simulate-chg-packages.test.mjs","平台治理/基础/门禁消费登记.json"]},{"id":"001e9af9cc570b2adb4ccdec0df1277d9b243730","message":"docs(计划): PF-03 ⑤ 部分收口,偏差 #11 关闭(真源仓 41ca988)\n\n- §3 PF-03 行:⑤ 由「未做」改为「部分收口」,余项明确为 README 与\n CHANGELOG(后者自称「基础框架的版本轴」),退出条件改为三份文档正文\n 均不含框架仓状态声明\n- §6:偏差 #11 移入已关闭一行,附回灌内容与两道门禁结果\n- §8:增一行记录本轮,含「报告未回绑及其原因」\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/001e9af9cc570b2adb4ccdec0df1277d9b243730","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:14:50-07:00","added":[],"removed":[],"modified":["平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"ce042782a285d1d8a79e5c5a43636ea05f4868d3","message":"feat(governance): 新增 check-deferred-ops 门禁——变更包延后 op 与活跃 Catalog 对账,并收口两条实际存在的坑\n\n起因:CHG-003 与 CHG-006 对同一条目同一字段(application-contract-registry.code_truth)各留一条 applyAfter op 且目标值不同,后者已由 CHG-013 于 2026-09-16 应用;delta 文件之间从不互相校验,谁按「把剩余延后 op 补完」执行,就会把已生效值回归成更粗的路径,且没有任何门禁会红。\n\n门禁(D1—D6,阻断性,进 run-foundation-gates)把每条 op 按 aspect(set 逐字段 + add_evidence 子集)与活跃 Catalog 对账:全部生效须登记 appliedBy、半生效须用 appliedBy.aspects 写明已落的一半、被取代须登记 withdrawn(缺 reason/authority/recordedAt 即红)、凭声明当已应用即红。11 例单测含逐规则负向;IO 层在真实材料与真实 Catalog 上跑。负向实测:去掉 withdrawn 即 exit 1。\n\n随之收口三处:\n- CHG-003 注册中心那条登记 withdrawn(依据决策批次 A-2 附条件),enterprise-idp 那条登记 appliedBy.aspects=[\"code_truth\"]——它是半应用,set 由 PF-07 阶段 1 实现提交 99c3f52(2026-09-12)直接改到位、三条 add_evidence 从未落;CHG-006 那条登记 appliedBy(CHG-013)。\n- check-new-platform-catalog-change-readiness 的 expectedFormalWithdrawn 收窄:原先连 decisions 总数与 pendingDecisions 一起钉死,而那两个数不是「撤销」决定的——CHG-002 按 A-2 登记 DEC-037—039 为 pending 后(36→39 / 0→3)该门禁与撤销无关地恒红。改为只断言撤销真正决定的项目数(21 / 19),四项不在册与四条 DEC rejected 由原有两个循环逐项断言(比总数更强)。八条自带负向用例仍全绿。\n- simulate-chg-007 在包已应用后不再因 tests.delta 锚点漂移崩溃,如实报 status=already-applied(formalMutated 仍 false);护栏的冻结基线判定从钉死整行改为只认函数调用(004/005 加 --contracts=active 后那一行变成三元表达式,被误判成活跃基线)。\n\n治理层 365 例 358 通过,余 1 为报告登记数待本次报告入 git;阻断性门禁 10/10。开发计划 §8 的登记留到并行会话的在途编辑落地后补。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ce042782a285d1d8a79e5c5a43636ea05f4868d3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T16:14:54-07:00","added":["平台治理/基础/reports/延后op.latest.json","平台治理/基础/scripts/check-deferred-ops.mjs","平台治理/基础/scripts/lib/deferred-ops-core.mjs","平台治理/基础/tests/deferred-ops.test.mjs"],"removed":[],"modified":["平台治理/doc/decisions/CHG-003-材料/README.md","平台治理/doc/decisions/CHG-003-材料/platform-projects.delta.json","平台治理/doc/decisions/CHG-006-材料/README.md","平台治理/doc/decisions/CHG-006-材料/platform-projects.delta.json","平台治理/基础/reports/登记.json","平台治理/基础/scripts/check-new-platform-catalog-change-readiness.mjs","平台治理/基础/scripts/simulate-chg-007.mjs","平台治理/基础/tests/simulate-chg-packages.test.mjs","平台治理/基础/门禁消费登记.json"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8331,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T07:08:29+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789686899
|
1789686990
|
0
|
1789686899
|
1789686990
|
|
|
0
|
Edit
Delete
|
|
24091
|
feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 bi feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径...
|
117
|
5
|
governance.yml
|
56
|
5
|
0
|
refs/heads/main
|
34c5fecec1074d5a01acd8b184e70c63c5ed947b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3","after":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/44686cc39752ceb9b94fbfed9169b6fe0a2d6ea3...34c5fecec1074d5a01acd8b184e70c63c5ed947b","commits":[{"id":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","message":"feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径\n\n治理层是给全工作区定证据纪律的那一层,却没对自己的报告用同一条。登记表里每条 latest\n都写着 `\"binding\": \"clean-head\"`,note 也写着「只在 clean HEAD 上提交」,但 R1—R6 里\n没有任何一条去读它——R4 只查 provenance.gitSha 存不存在。\n\n于是 `基础目录统一审计.latest.json` 绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)被提交了,一路绿灯。一份绑在脏树上的报告证明不了任何一个提交态,它既不对应\n589467e 的树,也不对应此后任何提交。已于 ad86507 在干净树上重跑回绑。\n\n R7 BINDING_NOT_CLEAN 声明 clean-head 却自称绑在脏树上,且该报告本身已提交\n R8 BINDING_OFF_HISTORY 绑定的 SHA 不在当前 HEAD 的历史上(换基 / 重写历史后遗留)\n\n两条都只对**登记已声明绑定口径**的条目判——不替没声明的条目另立规矩。R7 跳过报告\n自身未提交的情况:那是在途产物,也可能是并行会话正在跑的中间态(本工作区常有 2—3\n个会话同时写 reports/),判红只会误伤对方的回绑,与真源仓偏差 #34-B 同一口径。\nR8 取不到祖先关系时整条不判,非 git 环境退回原判据。缺 gitSha 的报告由 R4 单独报,\n不叠加成三条。\n\n登记门禁测试 8 → 13,治理层全量 383(377 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/34c5fecec1074d5a01acd8b184e70c63c5ed947b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:49:24-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]},{"id":"ad86507edf7f52241c3918e8c634b804e8b81b58","message":"chore(reports): 治理层四份 latest 回绑 @ 44686cc\n\n`基础目录统一审计.latest.json` 此前绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)并被提交——登记里写着 binding=clean-head、note 也写着「只在 clean HEAD 上提交」,\n但没有任何检查去读,于是这份证明不了任何提交态的报告一直挂在顶层。\n\n`pnpm run audit` 一次编排写三份,加上它触发的 check-gate-consumption 共四份,本轮一并\n在干净树上重跑回绑(governanceProvenance 忽略 latest 报告自身,故并行会话在途的报告\n不影响绑定判定)。四份现均为 44686cc / dirty=false。\n\n结论未变:审计仍 BLOCKED(FACT_DECISIONS_PENDING_OR_UNKNOWN、\nASSET_EVIDENCE_REVIEW_REQUIRED),assets 去掉 ageHours 后逐字相同。\n\n另记一笔:`门禁消费.latest.json` 相对它自己的输入 `门禁消费登记.json` 已经陈旧——\n登记表里 C-13 / C-14 那段 2026-09-18 的文字早已提交,报告却停在旧文本,无人察觉。\n这是新鲜度缺口,不是绑定缺口,本轮不处置。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ad86507edf7f52241c3918e8c634b804e8b81b58","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:47:30-07:00","added":[],"removed":[],"modified":["平台治理/基础/reports/基础目录统一审计.latest.json","平台治理/基础/reports/延后op.latest.json","平台治理/基础/reports/门禁消费.latest.json","平台治理/基础/reports/门禁运行.latest.json"]}],"total_commits":0,"head_commit":{"id":"34c5fecec1074d5a01acd8b184e70c63c5ed947b","message":"feat(governance): 报告登记门禁补 R7 / R8——让它去读登记里早就写着的 binding 口径\n\n治理层是给全工作区定证据纪律的那一层,却没对自己的报告用同一条。登记表里每条 latest\n都写着 `\"binding\": \"clean-head\"`,note 也写着「只在 clean HEAD 上提交」,但 R1—R6 里\n没有任何一条去读它——R4 只查 provenance.gitSha 存不存在。\n\n于是 `基础目录统一审计.latest.json` 绑在 589467e 且 worktreeDirty=true(当时 9 个脏\n文件)被提交了,一路绿灯。一份绑在脏树上的报告证明不了任何一个提交态,它既不对应\n589467e 的树,也不对应此后任何提交。已于 ad86507 在干净树上重跑回绑。\n\n R7 BINDING_NOT_CLEAN 声明 clean-head 却自称绑在脏树上,且该报告本身已提交\n R8 BINDING_OFF_HISTORY 绑定的 SHA 不在当前 HEAD 的历史上(换基 / 重写历史后遗留)\n\n两条都只对**登记已声明绑定口径**的条目判——不替没声明的条目另立规矩。R7 跳过报告\n自身未提交的情况:那是在途产物,也可能是并行会话正在跑的中间态(本工作区常有 2—3\n个会话同时写 reports/),判红只会误伤对方的回绑,与真源仓偏差 #34-B 同一口径。\nR8 取不到祖先关系时整条不判,非 git 环境退回原判据。缺 gitSha 的报告由 R4 单独报,\n不叠加成三条。\n\n登记门禁测试 8 → 13,治理层全量 383(377 过 / 6 跳 / 0 失败)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/34c5fecec1074d5a01acd8b184e70c63c5ed947b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T00:49:24-07:00","added":[],"removed":[],"modified":["平台治理/基础/scripts/check-report-registry.mjs","平台治理/基础/scripts/lib/report-registry-core.mjs","平台治理/基础/tests/report-registry.test.mjs"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":9504,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-18T15:29:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789717793
|
1789717809
|
0
|
1789717791
|
1789717809
|
|
|
0
|
Edit
Delete
|
|
23509
|
feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果 feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)...
|
76
|
5
|
governance.yml
|
10
|
5
|
0
|
refs/heads/main
|
c0ed7540c137f2a6828d24503a4c396156996f33
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","after":"c0ed7540c137f2a6828d24503a4c396156996f33","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/e4b6a5e4925ba1a7234be9035af63c53fd77b945...c0ed7540c137f2a6828d24503a4c396156996f33","commits":[{"id":"c0ed7540c137f2a6828d24503a4c396156996f33","message":"feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)\n\n三项 2026-08-20 拍板:① HTTP /api/jobs kind 值域收窄为 HTTP_ENQUEUEABLE_JOB_KINDS\n(内部作业 analysis/outcome.expire 入口即 400,消费门禁断言升级并负向验证);\n② 结果裁决角色闸 canResolveOutcome 单源(outcome confirm/dispute/attribution 收口\napprover/admin,判责矩阵与 approve 完全对等,G8 ⑥);③ /api/roles list/upsert 返回\n接线 contracts RoleAssignmentDto。另含发布快照推进 cf68476 与合并插坏段落修复。\n\n本地全链(2026-08-20):pnpm check exit 0 · check:runtime 378/378(地板 370→378)·\ncheck:ui 14/14。PR CI:头 cec3cd5 run 32375879119 两 job 全绿(2395bfb 的 run #16 红\n为 G18 已档收尾偶发——378 测试全过仅 Fastify auth.rs256 收尾 TCP 未处理拒绝,\n等价复跑即绿,判责档案见 CLAUDE.md G18)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c0ed7540c137f2a6828d24503a4c396156996f33","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T07:30:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/tenant.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs"]},{"id":"cf684760ca7c7d1580ffd27e4ab28726ab8a7636","message":"fix(build): 串行化双 app prisma:generate——U6 竞态在本仓 CI 首次实锤(run #13)(#2)\n\nturbo 包级依赖 api-fastify#prisma:generate → api-nestjs#prisma:generate 全局串行化,\n消除共享 .prisma/client 输出的并行写坏竞态(main run #13 红盘根因,playbook U6)。\nPR merge-ref CI 两 job 全绿(run 32372272135)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/cf684760ca7c7d1580ffd27e4ab28726ab8a7636","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T06:14:00-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/migration-playbook.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","turbo.json"]},{"id":"24eee9a94b903d2e24cf965a081eb8c38a0158e3","message":"fix(build): 串行化双 app prisma:generate——U6 竞态在本仓 CI 首次实锤(run #13)\n\nmerge 9f94390(PR #1)后的 main push run #13 红:两 app 的 prisma generate 被\nturbo 并行执行,共享输出 node_modules/.prisma/client/default.js 被写坏\n(default.js:5 SyntaxError: Unexpected token ')',NestJS 21 个测试套件加载即灭)。\n同一棵树半小时前在 PR merge-ref 全绿(run 32360248617)——纯概率性竞态,\n正是 playbook U6 预记的形态(上游实锤过,本仓 CI 首中)。\n\n修复(U6 自记的长期解法):turbo.json 增包级任务依赖\n api-fastify#prisma:generate dependsOn api-nestjs#prisma:generate\n全局串行化(CI / 本地 / 任何调用方同治),不改各包脚本与开发用法。\n\n验证:pnpm prisma:generate 连跑 3 次,两 generate 严格先后执行,\ndefault.js 每次 node --check 解析干净;pnpm check 静态全绿。\n回灌:playbook U6 补本仓实锤与已落地解法;CLAUDE.md 发布快照补 run #13 判责一笔。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01SPyuoU3B2ecKWLUDp1ogF4\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/24eee9a94b903d2e24cf965a081eb8c38a0158e3","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-08-20T13:04:20Z","added":[],"removed":[],"modified":["CLAUDE.md","docs/migration-playbook.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","turbo.json"]},{"id":"9f94390ac23dee9c3055f9d1d7ab4bca93f50ffa","message":"fix(governance): 全面治理修复——C25/C26/F8 + 文档真源回灌 + 对等修正与新断言 (#1)\n\n体检 → 修复 → 三轮与 main 汇合的完整治理轮。合并树实测:pnpm check exit 0 ·\ncheck:runtime 370/370 · check:ui 14/14;PR merge-ref CI 两 job 全绿(run 32360248617)。\n含 C26(棘轮地板采集只认 git 已跟踪文件)的唯一根因修复。详见 PR #1 描述与\ndocs/governance-experience.md C25/C26 战役记录。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9f94390ac23dee9c3055f9d1d7ab4bca93f50ffa","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T05:53:19-07:00","added":[],"removed":["apps/api-fastify/pnpm-lock.yaml","apps/api-nestjs/pnpm-lock.yaml","apps/web/pnpm-lock.yaml"],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/learning.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/learning/learning.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/store/useAppStore.ts","docs/README.md","docs/adr/README.md","docs/governance-experience.md","docs/migration-playbook.md","packages/contracts/package.json","packages/contracts/src/index.ts","packages/contracts/src/learning.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/tenant.ts","packages/contracts/tsconfig.json","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-fork-readiness.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"c22c7bcdbc589842e356b7a3ed3a7fc8fc9dc76b","message":"merge: 汇合 main 技能目录治理特性轮(5e00445..e4b6a5e)——三方合并全链绿\n\n冲突解决(并集原则):\n- 发布快照/证据行:取 main「第二次全绿 run 32355865911」事实 + 本轮「参数以 report\n 为准」纪律 + 补记 run #8 C26 判责;数字按合并树实测(54/363/370/14)\n- baseline 表:fork-readiness 取本轮 F8 版;agent-adapters(G21 闭环新门禁)取 main;\n own-tests/own-test-cases 取 C26 口径注记 + 合并树实测值\n- 缺口索引:C25/C26(本轮)与 G21(main)并集;G21 OPEN 段随 main 删除\n- 经验库:C25/C26 战役(本轮)+ G21 战役(main)并集\n- reports/baseline 合并后全链重跑再生成\n\n合并树验证(2026-08-20,基座重启后实跑):pnpm check exit 0(含 agent-adapters 新门禁 +\nC26 跟踪计数)· check:runtime 370/370(地板 368→370)· check:ui 14/14(地板 11→14)·\ngovernance 53→54/349→363 · 终检 exit 0\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01SPyuoU3B2ecKWLUDp1ogF4\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c22c7bcdbc589842e356b7a3ed3a7fc8fc9dc76b","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-08-20T10:42:36Z","added":[".agents/skills/business-module-intake/SKILL.md","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/skills.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/web/src/components/RoleAssignmentsPanel.tsx","apps/web/src/components/workbench/SkillPicker.tsx","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/fullstack-7layer-react/SKILL.md","CLAUDE.md","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/learning.concurrency.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/triggers.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/src/work/work.module.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/learning.concurrency.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/triggers.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/JobsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/views/AutomationView.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/StateBadge.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","apps/web/src/lib/types.ts","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/owner-matrix.md","docs/domain/work-blueprint.md","docs/governance-experience.md","governance.registry.json","package.json","packages/contracts/src/index.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/contracts/src/realtime.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"c0ed7540c137f2a6828d24503a4c396156996f33","message":"feat(governance): 三项拍板落地——HTTP jobs kind 值域收窄 + 结果裁决角色闸 + RoleAssignmentDto 接线 (#3)\n\n三项 2026-08-20 拍板:① HTTP /api/jobs kind 值域收窄为 HTTP_ENQUEUEABLE_JOB_KINDS\n(内部作业 analysis/outcome.expire 入口即 400,消费门禁断言升级并负向验证);\n② 结果裁决角色闸 canResolveOutcome 单源(outcome confirm/dispute/attribution 收口\napprover/admin,判责矩阵与 approve 完全对等,G8 ⑥);③ /api/roles list/upsert 返回\n接线 contracts RoleAssignmentDto。另含发布快照推进 cf68476 与合并插坏段落修复。\n\n本地全链(2026-08-20):pnpm check exit 0 · check:runtime 378/378(地板 370→378)·\ncheck:ui 14/14。PR CI:头 cec3cd5 run 32375879119 两 job 全绿(2395bfb 的 run #16 红\n为 G18 已档收尾偶发——378 测试全过仅 Fastify auth.rs256 收尾 TCP 未处理拒绝,\n等价复跑即绿,判责档案见 CLAUDE.md G18)。","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c0ed7540c137f2a6828d24503a4c396156996f33","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-08-20T07:30:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.module.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/job.ts","packages/contracts/src/outcome.ts","packages/contracts/src/tenant.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1591,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-20T18:03:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1787327001
|
1787327074
|
0
|
1787326999
|
1787327074
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24401
|
feat(governance): 一致性门禁 L9 按最近 .git 判归属、新增 L14 裁决编 feat(governance): 一致性门禁 L9 按最近 .git 判归属、新增 L14 裁决编号撞号...
|
117
|
5
|
governance.yml
|
119
|
5
|
0
|
refs/heads/main
|
ff49a27f64d9b0d03796f20c15796e0e91a136d1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"986ad9cb3733fc8448c695abb50ed7962454f994","after":"ff49a27f64d9b0d03796f20c15796e0e91a136d1","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/986ad9cb3733fc8448c695abb50ed7962454f994...ff49a27f64d9b0d03796f20c15796e0e91a136d1","commits":[{"id":"ff49a27f64d9b0d03796f20c15796e0e91a136d1","message":"feat(governance): 一致性门禁 L9 按最近 .git 判归属、新增 L14 裁决编号撞号\n\nL9:worktreeGitFiles 只 find 到深度 4,而 \u003c层\u003e/\u003c仓组\u003e/.worktrees/\u003c名\u003e/.git 在深度 5,\n这类 worktree 既没被跳过、又被归到外层仓或治理仓,一次报 4 条假冲突。改为 compose 文件\n逐级向上找最近的 .git(文件=worktree 跳过,目录=仓),无深度上限。余下 2 条为真:\nAI人事系统/.integration-worktrees/digital-employee-os-live-20260923 是完整克隆,\ncompose project 名与 OS 主仓相同。\n\nL14:2026-09-23 C17 与 C19 并行取号都写成 DEC-043,迁移头会借对方的批准状态判绿;\n已由 e4b891b 改号 DEC-047,本条让撞号在起草时(含未跟踪文件)即判红。\n\nREADME 收纳表:doc/ 175 文件、DEC-001~047、CHG-001~023。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ff49a27f64d9b0d03796f20c15796e0e91a136d1","author":{"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:16:03-07:00","added":[],"removed":[],"modified":["平台治理/README.md","平台治理/基础/scripts/check-workspace-consistency.mjs","平台治理/基础/scripts/lib/workspace-consistency-core.mjs","平台治理/基础/tests/workspace-consistency.test.mjs"]},{"id":"37072140385e559d528543ab2d52f16cf65c3cf5","message":"docs(决策): CHG-023 权限目录登记 notification-webhook.delivery.send(事后补签材料,待签署)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/37072140385e559d528543ab2d52f16cf65c3cf5","author":{"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:59:38-07:00","added":["平台治理/doc/decisions/CHG-023-材料/README.md","平台治理/doc/decisions/CHG-023-材料/permissions.delta.json","平台治理/doc/decisions/CHG-023-材料/tests.delta.json"],"removed":[],"modified":[]},{"id":"e4b891b7dc89b5c22f9978deb4a88016007b07fd","message":"docs(决策): DEC-047 C17 指标契约登记簿建表与首个消费者(数字员工OS)批准——起草时占 DEC-043 撞号,改号\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/e4b891b7dc89b5c22f9978deb4a88016007b07fd","author":{"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:53:47-07:00","added":["平台治理/doc/decisions/DEC-047-指标契约登记簿建表与首个消费者.md"],"removed":["平台治理/doc/decisions/DEC-043-指标契约登记簿建表与首个消费者-草案.md"],"modified":[]},{"id":"0c4ff9d5cf96d6a64c387caf0f4f98a3c1f8cba6","message":"docs(决策): DEC-046 批准(分叉一 A、二 A、三 A)\n\n目录负责人会话内批准,三处分叉均取建议项。OS Owner 承诺随批准接受第 4 条内容;\nUNKNOWN 对账责任人与时限未填,OS 侧适配器未写。开发计划六域一行同步。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/0c4ff9d5cf96d6a64c387caf0f4f98a3c1f8cba6","author":{"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:49:41-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/DEC-046-跨域流程建表与首个消费者-草案.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"ff49a27f64d9b0d03796f20c15796e0e91a136d1","message":"feat(governance): 一致性门禁 L9 按最近 .git 判归属、新增 L14 裁决编号撞号\n\nL9:worktreeGitFiles 只 find 到深度 4,而 \u003c层\u003e/\u003c仓组\u003e/.worktrees/\u003c名\u003e/.git 在深度 5,\n这类 worktree 既没被跳过、又被归到外层仓或治理仓,一次报 4 条假冲突。改为 compose 文件\n逐级向上找最近的 .git(文件=worktree 跳过,目录=仓),无深度上限。余下 2 条为真:\nAI人事系统/.integration-worktrees/digital-employee-os-live-20260923 是完整克隆,\ncompose project 名与 OS 主仓相同。\n\nL14:2026-09-23 C17 与 C19 并行取号都写成 DEC-043,迁移头会借对方的批准状态判绿;\n已由 e4b891b 改号 DEC-047,本条让撞号在起草时(含未跟踪文件)即判红。\n\nREADME 收纳表:doc/ 175 文件、DEC-001~047、CHG-001~023。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/ff49a27f64d9b0d03796f20c15796e0e91a136d1","author":{"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:16:03-07:00","added":[],"removed":[],"modified":["平台治理/README.md","平台治理/基础/scripts/check-workspace-consistency.mjs","平台治理/基础/scripts/lib/workspace-consistency-core.mjs","平台治理/基础/tests/workspace-consistency.test.mjs"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":15864,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-23T20: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
|
4
|
1790169549
|
1790170588
|
0
|
1790169547
|
1790170588
|
|
|
0
|
Edit
Delete
|
|
24028
|
feat(governance): simulate-chg-004 增 --contracts=a feat(governance): simulate-chg-004 增 --contracts=active / --apply;CHG-004 阶段 2 已应用(真源仓 d88c3f1)...
|
117
|
5
|
governance.yml
|
18
|
5
|
0
|
refs/heads/main
|
25eb193e8b0e59fdeaf41285bde074d8dc9e1a77
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2a7ecc8e5116cdc8d9dcf12f5e7e98cab9433e0e","after":"25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/2a7ecc8e5116cdc8d9dcf12f5e7e98cab9433e0e...25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","commits":[{"id":"25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","message":"feat(governance): simulate-chg-004 增 --contracts=active / --apply;CHG-004 阶段 2 已应用(真源仓 d88c3f1)\n\n模拟器新模式镜像活跃契约并跳过已落地的 CHG-001—003,passed 后可把同一组 ops 应用到活跃目录并打印修改清单(镜像未 passed 拒绝应用)。tests.delta 重基线增 validators 锚点 12 → 17。CHG-004 材料状态改为已应用并登记两处重基线调整(validators 锚点;已批准 blocked_by → decided_by);DEC-020 草案指向候选文件的链接改指已登记的 schemas/facts;决策批次 §3 与开发计划 §8 登记 A-7 第一批完成,下一步 A-6 与 CHG-005。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T08:20:24-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-004-材料/README.md","平台治理/doc/decisions/CHG-004-材料/tests.delta.json","平台治理/doc/decisions/DEC-020-审计前后表达-草案.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/基础/scripts/simulate-chg-004.mjs","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","message":"feat(governance): simulate-chg-004 增 --contracts=active / --apply;CHG-004 阶段 2 已应用(真源仓 d88c3f1)\n\n模拟器新模式镜像活跃契约并跳过已落地的 CHG-001—003,passed 后可把同一组 ops 应用到活跃目录并打印修改清单(镜像未 passed 拒绝应用)。tests.delta 重基线增 validators 锚点 12 → 17。CHG-004 材料状态改为已应用并登记两处重基线调整(validators 锚点;已批准 blocked_by → decided_by);DEC-020 草案指向候选文件的链接改指已登记的 schemas/facts;决策批次 §3 与开发计划 §8 登记 A-7 第一批完成,下一步 A-6 与 CHG-005。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/25eb193e8b0e59fdeaf41285bde074d8dc9e1a77","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T08:20:24-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-004-材料/README.md","平台治理/doc/decisions/CHG-004-材料/tests.delta.json","平台治理/doc/decisions/DEC-020-审计前后表达-草案.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/基础/scripts/simulate-chg-004.mjs","平台治理/基础设施文档/开发计划.md"]},"repository":{"id":117,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"platform-governance","full_name":"luoanwu/platform-governance","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":7874,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance/languages","html_url":"https://gitea.g-hi.com/luoanwu/platform-governance","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/platform-governance","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/platform-governance.git","clone_url":"https://gitea.g-hi.com/luoanwu/platform-governance.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-15T11:53:24+08:00","updated_at":"2026-09-17T23:10:57+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789658432
|
1789658446
|
0
|
1789658428
|
1789658446
|
|
|
0
|
Edit
Delete
|
|
23446
|
feat(governance): machineize docs-truth gate, fix feat(governance): machineize docs-truth gate, fix Fastify Redis parsing, harden test-base guard...
|
54
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
2fa1666f6bb69b7784199199afde715a54856ac8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f98acd04c6fe50956d8cf89552a352c8893f037d","after":"2fa1666f6bb69b7784199199afde715a54856ac8","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/f98acd04c6fe50956d8cf89552a352c8893f037d...2fa1666f6bb69b7784199199afde715a54856ac8","commits":[{"id":"2fa1666f6bb69b7784199199afde715a54856ac8","message":"feat(governance): machineize docs-truth gate, fix Fastify Redis parsing, harden test-base guard\n\n- Add check:docs-truth (C14 machineized): targeted assertions catching README/standards\n drift from runtime truth (dual-backend positioning, tenant-aware envelope shape, NestJS\n HTTP engine, ghost assets like commitlint/RHF), wired into pnpm check + governance ratchet.\n- Fix Fastify BullMQ Redis URL parsing to include password/db (C15), matching NestJS's\n parseRedisConnection; adds a check:dual-backend tripwire so this can't silently regress.\n Without this, authenticated/non-zero-db Redis environments would split pub/sub and\n BullMQ onto different logical Redis instances.\n- Close G15: check:runtime / check:ui preflight now requires explicit REDIS_URL (no more\n silent localhost:6379 default) and enforces a base_framework* db name convention, with\n GOVERNANCE_DB_NAME_OVERRIDE=1 as an explicit escape hatch.\n- Correct stale doc claims across README/docs/standards to match actual code (Fastify is a\n full dual-backend peer per ADR-0009, not an optional fallback; envelope carries tenantId;\n NestJS uses platform-express not the Fastify adapter; annotate unimplemented commitlint/RHF\n plans as not-yet-landed).\n- Refresh governance reports/baseline after re-running pnpm check and check:runtime (56/56).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/2fa1666f6bb69b7784199199afde715a54856ac8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:11:05-07:00","added":["reports/docs-truth.latest.json","scripts/check-docs-truth.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/plugins/queue.ts","docs/README.md","docs/governance-experience.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","package.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"8501dc9731b4f0f44ea36d2ffe557577354ebb31","message":"Refactor governance documentation structure\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/8501dc9731b4f0f44ea36d2ffe557577354ebb31","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T08:01:24-07:00","added":["docs/governance-experience.md"],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]},{"id":"d799b176f2db4f3e538563eeb8228543d24ca639","message":"feat(runtime): close outbox failure governance gaps\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d799b176f2db4f3e538563eeb8228543d24ca639","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-05T07:03:20-07:00","added":["apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/test/outbox.deadletter.test.ts"],"removed":["apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts"],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/store/realtime.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/tenant.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-migrations.mjs","scripts/check-ui-acceptance.mjs"]},{"id":"43b8c8c943c406733084427f3ad27d836ae75681","message":"Update governance baseline for UI acceptance\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/43b8c8c943c406733084427f3ad27d836ae75681","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-04T23:37:30-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/skills/business-module-intake/SKILL.md",".github/workflows/governance.yml","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/playwright.config.ts","docs/domain/owner-matrix.md","packages/contracts/src/contracts.test.ts","packages/contracts/src/tenant.ts","reports/dual-backend-parity.latest.json","reports/ui-acceptance.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-ui-acceptance.mjs"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/.env.example","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/queue.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-nestjs/.env.example","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/.env.example","apps/web/package.json","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","docs/adr/0009-dual-backend-governance-parity.md","package.json","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"2fa1666f6bb69b7784199199afde715a54856ac8","message":"feat(governance): machineize docs-truth gate, fix Fastify Redis parsing, harden test-base guard\n\n- Add check:docs-truth (C14 machineized): targeted assertions catching README/standards\n drift from runtime truth (dual-backend positioning, tenant-aware envelope shape, NestJS\n HTTP engine, ghost assets like commitlint/RHF), wired into pnpm check + governance ratchet.\n- Fix Fastify BullMQ Redis URL parsing to include password/db (C15), matching NestJS's\n parseRedisConnection; adds a check:dual-backend tripwire so this can't silently regress.\n Without this, authenticated/non-zero-db Redis environments would split pub/sub and\n BullMQ onto different logical Redis instances.\n- Close G15: check:runtime / check:ui preflight now requires explicit REDIS_URL (no more\n silent localhost:6379 default) and enforces a base_framework* db name convention, with\n GOVERNANCE_DB_NAME_OVERRIDE=1 as an explicit escape hatch.\n- Correct stale doc claims across README/docs/standards to match actual code (Fastify is a\n full dual-backend peer per ADR-0009, not an optional fallback; envelope carries tenantId;\n NestJS uses platform-express not the Fastify adapter; annotate unimplemented commitlint/RHF\n plans as not-yet-landed).\n- Refresh governance reports/baseline after re-running pnpm check and check:runtime (56/56).\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/2fa1666f6bb69b7784199199afde715a54856ac8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:11:05-07:00","added":["reports/docs-truth.latest.json","scripts/check-docs-truth.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/plugins/queue.ts","docs/README.md","docs/governance-experience.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","package.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/check-dual-backend-parity.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},"repository":{"id":54,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":468,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-07-03T12:24: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
|
1784707904
|
1784708025
|
0
|
1784707902
|
1784708027
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23528
|
feat(governance): harden runtime workflows and sup feat(governance): harden runtime workflows and supply chain...
|
76
|
5
|
governance.yml
|
15
|
5
|
0
|
refs/heads/main
|
3cea10da5556cec346fbdecf5255ad38fc2bb92a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","after":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/5cb2f1cc2f9953d47fa0bcfac541400d01603f78...3cea10da5556cec346fbdecf5255ad38fc2bb92a","commits":[{"id":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","message":"feat(governance): harden runtime workflows and supply chain\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3cea10da5556cec346fbdecf5255ad38fc2bb92a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:17:12-07:00","added":[".github/dependabot.yml",".npmrc","apps/api-fastify/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-fastify/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-fastify/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-fastify/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-fastify/test/http-limits.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-nestjs/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-nestjs/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-nestjs/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-nestjs/test/http-limits.acceptance.test.ts","apps/web/public/favicon.svg","apps/web/src/app/error.tsx","apps/web/src/app/not-found.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/lib/query-errors.ts","packages/contracts/src/http.test.ts","packages/contracts/src/http.ts","packages/contracts/src/pagination.test.ts","packages/contracts/src/pagination.ts","reports/alertmanager-image.latest.json","reports/image-vulnerabilities.latest.json","reports/postgres-image.latest.json","scripts/check-alertmanager-image.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-postgres-image.mjs","scripts/lib/node-version-guard.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/dispatcher.ts","apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/llm-governance.service.ts","apps/api-fastify/src/modules/llm-invocation-ledger.ts","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/projects.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/llm-governance.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/dispatcher.ts","apps/api-nestjs/src/llm-governance/llm-governance.controller.ts","apps/api-nestjs/src/llm-governance/llm-governance.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/queue/llm-invocation-ledger.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/src/work/projects.controller.ts","apps/api-nestjs/src/work/projects.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/useTaskActions.ts","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actor-mutations.ts","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/llm-governance/api/llm-governance-api.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/nginx.conf.template","deploy/production/prometheus.yml","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/actor.test.ts","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/work.test.ts","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/redis-auth-live.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-all.mjs","scripts/check-auth-startup.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-operations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs","scripts/ops/backup.sh","scripts/ops/trace-storage-metrics.mjs"]}],"total_commits":0,"head_commit":{"id":"3cea10da5556cec346fbdecf5255ad38fc2bb92a","message":"feat(governance): harden runtime workflows and supply chain\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/3cea10da5556cec346fbdecf5255ad38fc2bb92a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:17:12-07:00","added":[".github/dependabot.yml",".npmrc","apps/api-fastify/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-fastify/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-fastify/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-fastify/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-fastify/test/http-limits.acceptance.test.ts","apps/api-nestjs/prisma/migrations/20260919000000_outbox_pending_claim_index/migration.sql","apps/api-nestjs/prisma/migrations/20260920000000_outbox_pending_claim_partial_index/migration.sql","apps/api-nestjs/prisma/migrations/20260921000000_drop_outbox_pending_claim_intermediate_index/migration.sql","apps/api-nestjs/prisma/migrations/20260922000000_outcome_attribution_relation/migration.sql","apps/api-nestjs/test/http-limits.acceptance.test.ts","apps/web/public/favicon.svg","apps/web/src/app/error.tsx","apps/web/src/app/not-found.tsx","apps/web/src/components/workbench/QueryErrorHost.tsx","apps/web/src/features/actors/components/ActorBenchmarkPanel.tsx","apps/web/src/lib/query-errors.ts","packages/contracts/src/http.test.ts","packages/contracts/src/http.ts","packages/contracts/src/pagination.test.ts","packages/contracts/src/pagination.ts","reports/alertmanager-image.latest.json","reports/image-vulnerabilities.latest.json","reports/postgres-image.latest.json","scripts/check-alertmanager-image.mjs","scripts/check-image-vulnerabilities.mjs","scripts/check-postgres-image.mjs","scripts/lib/node-version-guard.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/dispatcher.ts","apps/api-fastify/src/modules/actor-events.service.ts","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/llm-governance.service.ts","apps/api-fastify/src/modules/llm-invocation-ledger.ts","apps/api-fastify/src/modules/outcomes.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/modules/work/errors.ts","apps/api-fastify/src/modules/work/projects.service.ts","apps/api-fastify/src/modules/work/task-events.service.ts","apps/api-fastify/src/modules/work/tasks.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/routes/actors.ts","apps/api-fastify/src/routes/llm-governance.ts","apps/api-fastify/src/routes/outcomes.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/work.ts","apps/api-fastify/test/actor-events.integration.test.ts","apps/api-fastify/test/auth.acceptance.test.ts","apps/api-fastify/test/job-intent.dispatcher.test.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outcomes.integration.test.ts","apps/api-fastify/test/task-events.integration.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/actors/actor-events.service.ts","apps/api-nestjs/src/actors/actors.controller.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/dispatcher.ts","apps/api-nestjs/src/llm-governance/llm-governance.controller.ts","apps/api-nestjs/src/llm-governance/llm-governance.service.ts","apps/api-nestjs/src/outcomes/outcomes.controller.ts","apps/api-nestjs/src/outcomes/outcomes.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/queue/llm-invocation-ledger.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/src/work/projects.controller.ts","apps/api-nestjs/src/work/projects.service.ts","apps/api-nestjs/src/work/task-events.service.ts","apps/api-nestjs/src/work/tasks.controller.ts","apps/api-nestjs/src/work/tasks.service.ts","apps/api-nestjs/test/actor-events.integration.test.ts","apps/api-nestjs/test/auth.acceptance.test.ts","apps/api-nestjs/test/job-intent.dispatcher.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outcomes.integration.test.ts","apps/api-nestjs/test/task-events.integration.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/package.json","apps/web/src/app/layout.tsx","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/components/views/SystemView.tsx","apps/web/src/components/views/TeamView.tsx","apps/web/src/components/views/WorkbenchView.tsx","apps/web/src/components/workbench/AttentionInbox.tsx","apps/web/src/components/workbench/TaskCreateForm.tsx","apps/web/src/components/workbench/TaskDetail.tsx","apps/web/src/components/workbench/TaskList.tsx","apps/web/src/components/workbench/Timeline.tsx","apps/web/src/components/workbench/useTaskActions.ts","apps/web/src/features/actors/api/actors-api.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","apps/web/src/features/actors/hooks/use-actor-mutations.ts","apps/web/src/features/actors/hooks/use-actors.ts","apps/web/src/features/llm-governance/api/llm-governance-api.ts","apps/web/src/features/llm-governance/components/LlmInvocationReconciliationPanel.tsx","apps/web/src/features/llm-governance/hooks/use-llm-invocations.ts","apps/web/src/features/tools/hooks/use-tools.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/attention.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/state-theme.ts","deploy/production/.env.production.example","deploy/production/Dockerfile","deploy/production/alerts.test.yml","deploy/production/alerts.yml","deploy/production/compose.yml","deploy/production/nginx.conf.template","deploy/production/prometheus.yml","docs/domain-glossary.md","docs/domain/learning-blueprint.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/work-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/actor.test.ts","packages/contracts/src/actor.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/outcome.ts","packages/contracts/src/realtime.ts","packages/contracts/src/task.ts","packages/contracts/src/tenant.ts","packages/contracts/src/work.test.ts","packages/observability/package.json","packages/observability/src/index.test.ts","packages/observability/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","pnpm-lock.yaml","pnpm-workspace.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/redis-auth-live.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-access-audit.mjs","scripts/check-all.mjs","scripts/check-auth-startup.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-operations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-trace-backend.mjs","scripts/check-ui-all.mjs","scripts/governance-report.mjs","scripts/ops/backup.sh","scripts/ops/trace-storage-metrics.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":73053,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-25T12:21:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
52
|
1787707096
|
1787708829
|
0
|
1787707096
|
1787708829
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23459
|
feat(governance): harden report provenance and UI feat(governance): harden report provenance and UI acceptance...
|
54
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
da8f52db37f5b42d035f92ad27a45067bc57dfa9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"02a656716b10d2a5a4937ba01086cbd0a9ff4b85","after":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/02a656716b10d2a5a4937ba01086cbd0a9ff4b85...da8f52db37f5b42d035f92ad27a45067bc57dfa9","commits":[{"id":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","message":"feat(governance): harden report provenance and UI acceptance\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/da8f52db37f5b42d035f92ad27a45067bc57dfa9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-30T07:40:06-07:00","added":["scripts/lib/report-provenance.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","docs/governance-experience.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs"]},{"id":"4940be24ba6bfff2eefb2284f8ce66c9cbd1f326","message":"docs(governance): record remote branch consolidation\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/4940be24ba6bfff2eefb2284f8ce66c9cbd1f326","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T01:35:33-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"da8f52db37f5b42d035f92ad27a45067bc57dfa9","message":"feat(governance): harden report provenance and UI acceptance\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/da8f52db37f5b42d035f92ad27a45067bc57dfa9","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-30T07:40:06-07:00","added":["scripts/lib/report-provenance.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","docs/governance-experience.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs"]},"repository":{"id":54,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":890,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-07-22T16:35:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1785422435
|
1785422492
|
0
|
1785422433
|
1785422492
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23523
|
feat(governance): harden formal production trust b feat(governance): harden formal production trust boundaries...
|
57
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
8e23fd115535dda184b584cb62396fa8286ef383
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f094101357dc511e450e0e18fab5c91baaed9865","after":"8e23fd115535dda184b584cb62396fa8286ef383","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/f094101357dc511e450e0e18fab5c91baaed9865...8e23fd115535dda184b584cb62396fa8286ef383","commits":[{"id":"8e23fd115535dda184b584cb62396fa8286ef383","message":"feat(governance): harden formal production trust boundaries\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8e23fd115535dda184b584cb62396fa8286ef383","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:46:37-07:00","added":["apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","reports/production-security.latest.json","scripts/check-production-security.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/modules/material-production/object-storage.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-production.integration.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/src/material-production/object-storage.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-production.integration.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","deploy/vm/.env.example","deploy/vm/docker-compose.yml","docs/deploy-vm.md","docs/domain/material-production-blueprint.md","package.json","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/production.ts","reports/adversarial-acceptance-audit.latest.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"58ffde2d1e2a662a18b4fadf901b0f6f5233f30a","message":"feat: 完善分镜导演终审与对抗治理\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/58ffde2d1e2a662a18b4fadf901b0f6f5233f30a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T11:55:23-07:00","added":["Codex 图像 2026年8月24日 02_24_17.jpg","apps/api-fastify/prisma/migrations/20260825103000_creative_support_skills/migration.sql","apps/api-fastify/prisma/migrations/20260825130000_director_spec_qc/migration.sql","apps/api-fastify/prisma/migrations/20260825134500_storyboard_delivery_variants/migration.sql","apps/api-nestjs/prisma/migrations/20260825103000_creative_support_skills/migration.sql","apps/api-nestjs/prisma/migrations/20260825130000_director_spec_qc/migration.sql","apps/api-nestjs/prisma/migrations/20260825134500_storyboard_delivery_variants/migration.sql","apps/web/src/components/material-factory/CreativeSupportSkills.tsx","apps/web/src/components/material-factory/DirectorReviewWorkbench.tsx","packages/contracts/src/creative-support.test.ts","packages/contracts/src/creative-support.ts","packages/contracts/src/director-spec.test.ts","packages/contracts/src/director-spec.ts","reports/adversarial-acceptance-audit.latest.md","reports/storyboard-director-guard.latest.json","scripts/check-storyboard-director-guard.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/package.json","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","package.json","packages/contracts/src/index.ts","packages/contracts/src/material.ts","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard.ts","pnpm-lock.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"8e23fd115535dda184b584cb62396fa8286ef383","message":"feat(governance): harden formal production trust boundaries\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/8e23fd115535dda184b584cb62396fa8286ef383","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:46:37-07:00","added":["apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","reports/production-security.latest.json","scripts/check-production-security.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/modules/material-production/object-storage.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-production.integration.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/src/material-production/object-storage.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-production.integration.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","deploy/vm/.env.example","deploy/vm/docker-compose.yml","docs/deploy-vm.md","docs/domain/material-production-blueprint.md","package.json","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/production.ts","reports/adversarial-acceptance-audit.latest.md","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":44687,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-08-26T00:40: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
|
1
|
4
|
1787705227
|
1787705287
|
0
|
1787705225
|
1787705287
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23638
|
feat(governance): expand RAG capacity and enforce feat(governance): expand RAG capacity and enforce merge gate...
|
76
|
5
|
governance.yml
|
38
|
5
|
0
|
refs/heads/main
|
f6bd2a9868bc86b739584c2b3833b3d98d3eaf07
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9159f925070e50ba4126f448cb7755396e4a66ac","after":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/9159f925070e50ba4126f448cb7755396e4a66ac...f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","commits":[{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]}],"total_commits":0,"head_commit":{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":82022,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T13:15:00+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1788584337
|
1788584474
|
0
|
1788584337
|
1788584483
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26109
|
feat(governance): docs-truth 文档链接不得越出仓根(C47)
|
54
|
5
|
governance.yml
|
56
|
5
|
0
|
refs/heads/main
|
d9bfd71b0df4efa94f8d605b10bc9590fb4c114e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"22773e7ace1fbd60d992415c2ab4b3dcde37e0bb","after":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/22773e7ace1fbd60d992415c2ab4b3dcde37e0bb...d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","commits":[{"id":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","message":"feat(governance): docs-truth 文档链接不得越出仓根(C47)\n\n22773e7 把随同步带进派生仓即断的 15 条 `../` 链接与 1 条 latest 报告链接改成了\n固定提交 URL,但本仓门禁不看链接落点,下次再写照样全绿、到物云 / KTV framework/\n才被治理一致性 L4 报出来。\n\n- scripts/lib/doc-links.mjs:localMarkdownLinks 与治理仓 L4 同口径(尖括号、标题、\n 锚点、:行号、decodeURI;platform-governance cc09b9c),classifyDocLink 判\n escapes-root / root-absolute / runtime-evidence,trackedMarkdownFiles 取 git\n 跟踪 .md(跳过符号链接,git 不可用即报错);10 项单测。\n- check-docs-truth:越出仓根与 / 开头即红,计入既有 docsTruthViolations(棘轮与\n GOV-DOCUMENTATION-001 已消费,不新增指标);指向 reports/*.latest.json、\n reports/baseline.json 只 ⚠ 提示——物云自写文档链自己的 latest 报告是成立的,\n 判红会在派生仓同步后误杀。扫描面为空或缺 CHANGELOG 即失败关闭。\n- 重放 083b36e 恰命中 15 + 1 条;两提交上与治理仓解析逐文件一致。负向:越界、\n / 开头各 exit 1,运行证据 exit 0 + ⚠,git 不可用 exit 1,check:governance\n 棘轮 docsTruthViolations 0→1 exit 1。\n- 同步 CLAUDE.md 动态区 / docs-truth 行 / C47 索引、经验库 C47、CHANGELOG\n [Unreleased]、README 命令表、migration-playbook 步骤 8 与 P28。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","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-18T17:42:58-07:00","added":["scripts/lib/doc-links.mjs","scripts/lib/doc-links.test.mjs"],"removed":[],"modified":["CHANGELOG.md","CLAUDE.md","README.md","docs/governance-experience.md","docs/migration-playbook.md","scripts/check-docs-truth.mjs"]}],"total_commits":0,"head_commit":{"id":"d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","message":"feat(governance): docs-truth 文档链接不得越出仓根(C47)\n\n22773e7 把随同步带进派生仓即断的 15 条 `../` 链接与 1 条 latest 报告链接改成了\n固定提交 URL,但本仓门禁不看链接落点,下次再写照样全绿、到物云 / KTV framework/\n才被治理一致性 L4 报出来。\n\n- scripts/lib/doc-links.mjs:localMarkdownLinks 与治理仓 L4 同口径(尖括号、标题、\n 锚点、:行号、decodeURI;platform-governance cc09b9c),classifyDocLink 判\n escapes-root / root-absolute / runtime-evidence,trackedMarkdownFiles 取 git\n 跟踪 .md(跳过符号链接,git 不可用即报错);10 项单测。\n- check-docs-truth:越出仓根与 / 开头即红,计入既有 docsTruthViolations(棘轮与\n GOV-DOCUMENTATION-001 已消费,不新增指标);指向 reports/*.latest.json、\n reports/baseline.json 只 ⚠ 提示——物云自写文档链自己的 latest 报告是成立的,\n 判红会在派生仓同步后误杀。扫描面为空或缺 CHANGELOG 即失败关闭。\n- 重放 083b36e 恰命中 15 + 1 条;两提交上与治理仓解析逐文件一致。负向:越界、\n / 开头各 exit 1,运行证据 exit 0 + ⚠,git 不可用 exit 1,check:governance\n 棘轮 docsTruthViolations 0→1 exit 1。\n- 同步 CLAUDE.md 动态区 / docs-truth 行 / C47 索引、经验库 C47、CHANGELOG\n [Unreleased]、README 命令表、migration-playbook 步骤 8 与 P28。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d9bfd71b0df4efa94f8d605b10bc9590fb4c114e","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-18T17:42:58-07:00","added":["scripts/lib/doc-links.mjs","scripts/lib/doc-links.test.mjs"],"removed":[],"modified":["CHANGELOG.md","CLAUDE.md","README.md","docs/governance-experience.md","docs/migration-playbook.md","scripts/check-docs-truth.mjs"]},"repository":{"id":54,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8699,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-10-19T08:28: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
|
10
|
1792371537
|
1792371600
|
0
|
1792371537
|
1792371611
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23941
|
feat(governance): G-12 local release bypass, used feat(governance): G-12 local release bypass, used once for the rc.2 train...
|
116
|
5
|
platform.yml
|
54
|
5
|
0
|
refs/heads/main
|
d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d3900abae6fc251b39e4bebcaa74190e25774bb","after":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6d3900abae6fc251b39e4bebcaa74190e25774bb...d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","commits":[{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]}],"total_commits":0,"head_commit":{"id":"d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","message":"feat(governance): G-12 local release bypass, used once for the rc.2 train\n\nGitHub Actions 因账户计费暂停(自 2026-09-13T05:35Z 起每次 run 在 0–3 秒未启动即\nfailure),发布链要求的「main 上成功 Platform CI run + runnerNormalized:\"ci\" 候选证据」\n无法满足。为解开下游 digital-employee-os 的依赖冻结(该仓任何 pnpm install 都因\n@juhai/client-fact 未发布而 404,连 CVE 都修不了),本轮以本地旁路发布了列车三件套\ncontracts / governance / client-fact 1.0.0-rc.2。\n\npublish-rc.mjs 新增显式命名的开关 PLATFORM_RELEASE_BYPASS_CI_EVIDENCE,\n**只解除 CI 身份检查这一条**:不可覆盖已发布版本、Registry integrity 自校验、\n仅 RC 版本、--ignore-scripts 全部保留;无开关时仍拒绝运行(已验证)。\n\n不伪装 CI:provenance.json 由本地生成并如实写 runner:\"local\" /\nreleaseChannel:\"local-bypass\" / reports:[]。prepare-package-release.mjs 的七道\nrequire 与 lib/provenance.mjs 的 runner 归一化(G-11 的 gitea-actions→other)均未改动。\n\n代价已登记在 docs/G-12本地旁路发布记录-2026-09-13.md:这三个包无任何阶段门证据,\n且版本号被本地包永久占用,计费恢复后只能由 CI 发下一个 RC;旁路开关应在那时删除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/d1ef5414093aa67ff4b8e2b7af8d13be86aed7ba","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-13T22:02:47-07:00","added":["docs/G-12本地旁路发布记录-2026-09-13.md"],"removed":[],"modified":["governance/publish-rc.mjs"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":13159,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":30,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-14T12:42:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
30
|
1789362254
|
1789362293
|
0
|
1789362252
|
1789362321
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23603
|
feat(governance): C242 租户级目录分页收口 G24① + check:list feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复...
|
76
|
5
|
governance.yml
|
29
|
5
|
0
|
refs/heads/main
|
c48ff8853fb96ecd420890a0e933711dc5fa6a1e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"019f721377c4a8970dfc4064886129b1cbcbd089","after":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/019f721377c4a8970dfc4064886129b1cbcbd089...c48ff8853fb96ecd420890a0e933711dc5fa6a1e","commits":[{"id":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","message":"feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复\n\nC242(G24①)\n- 双后端 10 个目录端点统一 contracts 分页信封:conversations/attachments/RAG sources/roles/permissions/skills/skills.catalog/triggers/tools.catalog/tools.assignments;callback tx 内 count+page,排序补 id 决胜键,Fastify 400 先于 403\n- 技能目录按技能名分页,任务/触发器/成长指标改为数据库 GROUP BY 只带回页内技能;contracts 新增 buildSkillCatalogPage/aggregateSkillFacts(原始行路径单测锁定逐字相等),expand-only 升 1.14.0 并重建包锁/下游锁/接入手册锁行\n- tools 目录按页内定义 id 集合取版本/激活/计数;Web 八个 fetcher 与 getRoleAssignments/getSkills 改走 requestAllPages\n- 新增 scripts/check-list-bounds.mjs:租户级 findMany 无 take 即红,身份键 in:/父级外键不在范围,// list-bound-allow 留痕(4 处:事件评估热路径、团队基准投影);8 个负向探针自证;接入 check-all/governance/baseline 棘轮\n- 双后端各新增 list-bounds.acceptance(105 行续页无重复、越界 400、目录信封、分组指标与详情一致);tests 692、own-test-cases 699\n\nC243\n- Loki/Tempo 在精确 release commit 上 go get x/crypto@v0.55.0 grpc@v1.83.2 并重新 vendor(modules.txt 断言);OTel builder manifest replaces 钉版\n- 本机 Docker 经离线系统代理无法拉取基础镜像,本地构建与 runner 复验未完成,以远端 CI 构建/扫描为准;Alertmanager/Prometheus 待上游发布,扫描继续诚实红并登记 G23④\n\nC244\n- runtime runner 的 docs-truth 复验移到本轮 canonical 报告写下之后执行(原作为 plan 末步读到的是上一轮报告,一次 failed 后每轮自锁)\n\n发布状态快照/ci-gate/G14 三处同源更新(锚点 019f721),证据新鲜度三行对齐本轮报告;报告绑定 dirty 指纹 7cfa37d6\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c48ff8853fb96ecd420890a0e933711dc5fa6a1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T10:31:55-07:00","added":["apps/api-fastify/test/list-bounds.acceptance.test.ts","apps/api-nestjs/test/list-bounds.acceptance.test.ts","reports/list-bounds.latest.json","scripts/check-list-bounds.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/attachment.service.ts","apps/api-fastify/src/modules/conversation.service.ts","apps/api-fastify/src/modules/permissions.service.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/permissions.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/skills.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/llm-governance/attachment.controller.ts","apps/api-nestjs/src/llm-governance/attachment.service.ts","apps/api-nestjs/src/llm-governance/conversation.controller.ts","apps/api-nestjs/src/llm-governance/conversation.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/permissions/permissions.controller.ts","apps/api-nestjs/src/permissions/permissions.service.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/tools/tools.controller.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/src/features/attachments/api/attachment-api.ts","apps/web/src/features/conversations/api/conversation-api.ts","apps/web/src/features/permissions/api/permissions-api.ts","apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/skills/api/skills-api.ts","apps/web/src/features/tools/api/tools-api.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/lib/api.ts","deploy/production/Dockerfile","deploy/production/otel-collector-builder.yml","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-all.mjs","scripts/check-runtime-acceptance.mjs","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"c48ff8853fb96ecd420890a0e933711dc5fa6a1e","message":"feat(governance): C242 租户级目录分页收口 G24① + check:list-bounds 门禁;C243 观测镜像 CVE 钉版;C244 runtime 复验自锁修复\n\nC242(G24①)\n- 双后端 10 个目录端点统一 contracts 分页信封:conversations/attachments/RAG sources/roles/permissions/skills/skills.catalog/triggers/tools.catalog/tools.assignments;callback tx 内 count+page,排序补 id 决胜键,Fastify 400 先于 403\n- 技能目录按技能名分页,任务/触发器/成长指标改为数据库 GROUP BY 只带回页内技能;contracts 新增 buildSkillCatalogPage/aggregateSkillFacts(原始行路径单测锁定逐字相等),expand-only 升 1.14.0 并重建包锁/下游锁/接入手册锁行\n- tools 目录按页内定义 id 集合取版本/激活/计数;Web 八个 fetcher 与 getRoleAssignments/getSkills 改走 requestAllPages\n- 新增 scripts/check-list-bounds.mjs:租户级 findMany 无 take 即红,身份键 in:/父级外键不在范围,// list-bound-allow 留痕(4 处:事件评估热路径、团队基准投影);8 个负向探针自证;接入 check-all/governance/baseline 棘轮\n- 双后端各新增 list-bounds.acceptance(105 行续页无重复、越界 400、目录信封、分组指标与详情一致);tests 692、own-test-cases 699\n\nC243\n- Loki/Tempo 在精确 release commit 上 go get x/crypto@v0.55.0 grpc@v1.83.2 并重新 vendor(modules.txt 断言);OTel builder manifest replaces 钉版\n- 本机 Docker 经离线系统代理无法拉取基础镜像,本地构建与 runner 复验未完成,以远端 CI 构建/扫描为准;Alertmanager/Prometheus 待上游发布,扫描继续诚实红并登记 G23④\n\nC244\n- runtime runner 的 docs-truth 复验移到本轮 canonical 报告写下之后执行(原作为 plan 末步读到的是上一轮报告,一次 failed 后每轮自锁)\n\n发布状态快照/ci-gate/G14 三处同源更新(锚点 019f721),证据新鲜度三行对齐本轮报告;报告绑定 dirty 指纹 7cfa37d6\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/c48ff8853fb96ecd420890a0e933711dc5fa6a1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T10:31:55-07:00","added":["apps/api-fastify/test/list-bounds.acceptance.test.ts","apps/api-nestjs/test/list-bounds.acceptance.test.ts","reports/list-bounds.latest.json","scripts/check-list-bounds.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/actors.ts","apps/api-fastify/src/modules/attachment.service.ts","apps/api-fastify/src/modules/conversation.service.ts","apps/api-fastify/src/modules/permissions.service.ts","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/roles.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/skills.service.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/conversations.ts","apps/api-fastify/src/routes/permissions.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/roles.ts","apps/api-fastify/src/routes/skills.ts","apps/api-fastify/src/routes/tools.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-fastify/test/work.integration.test.ts","apps/api-nestjs/src/actors/actors.service.ts","apps/api-nestjs/src/llm-governance/attachment.controller.ts","apps/api-nestjs/src/llm-governance/attachment.service.ts","apps/api-nestjs/src/llm-governance/conversation.controller.ts","apps/api-nestjs/src/llm-governance/conversation.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/permissions/permissions.controller.ts","apps/api-nestjs/src/permissions/permissions.service.ts","apps/api-nestjs/src/roles/roles.controller.ts","apps/api-nestjs/src/roles/roles.service.ts","apps/api-nestjs/src/tools/tools.controller.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.controller.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/skills.controller.ts","apps/api-nestjs/src/work/skills.service.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/work.integration.test.ts","apps/web/src/features/attachments/api/attachment-api.ts","apps/web/src/features/conversations/api/conversation-api.ts","apps/web/src/features/permissions/api/permissions-api.ts","apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/skills/api/skills-api.ts","apps/web/src/features/tools/api/tools-api.ts","apps/web/src/features/triggers/api/triggers-api.ts","apps/web/src/lib/api.ts","deploy/production/Dockerfile","deploy/production/otel-collector-builder.yml","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/package.json","packages/contracts/src/skill.test.ts","packages/contracts/src/skill.ts","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-all.mjs","scripts/check-runtime-acceptance.mjs","scripts/governance-report.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":78546,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-02T23:06:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
32
|
1788370323
|
1788370346
|
0
|
1788370321
|
1788370347
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26912
|
feat(frontend): 迁入 React 单前端并衔接 EIOS 改造副本
|
160
|
5
|
ci.yml
|
12
|
5
|
0
|
refs/heads/main
|
782018b7c721129de41189a65276dee1652eb5c5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fd8a34a77318843de7ee267e319287effc91f0ea","after":"782018b7c721129de41189a65276dee1652eb5c5","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/compare/fd8a34a77318843de7ee267e319287effc91f0ea...782018b7c721129de41189a65276dee1652eb5c5","commits":[{"id":"782018b7c721129de41189a65276dee1652eb5c5","message":"feat(frontend): 迁入 React 单前端并衔接 EIOS 改造副本\n\n从 legacy/react-migration f23014a01 导入前端源码与治理入口,保留独立历史及后端 EIOS 接缝。补齐邮件模板、退役路由、直播/RMA 契约、本地预览代理及日期/标签回归,更新相关文档与盘点。\n\n验证:React 类型/lint/构建、Payload/FormRules、路由与盘点检查通过;整套首轮 2176/2187,11 个失败项修复后 14 文件 37/37;后端专项 37/37,共享包 269/269,Harness 22/22。本机真实登录已通过,非生产或全量清洁业务签收。\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/782018b7c721129de41189a65276dee1652eb5c5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-01T16:33:01-08:00","added":[".claude/skills/juhi-react-dev/SKILL.md","backend/src/modules/livestream/react-schedule-contract.test.ts","docs/eios-transformation/React前端替换-2026-11-01.md","docs/eios-transformation/inventory/scripts/frontend-permissions.mjs","docs/eios-transformation/inventory/scripts/frontend-permissions.test.mjs","docs/reports/view-audit-domains/a1-acquisition-center-2026-11-01.md","docs/reports/view-audit-domains/a2-finance-center-2026-11-01.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-11-01.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-11-01.md","docs/reports/view-audit-domains/a5-admin-center-2026-11-01.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-11-01.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-11-01.md","docs/reports/view-audit-domains/a8-system-center-2026-11-01.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-11-01.md","docs/reports/view-audit-full-matrix-2026-11-01.md","e2e/scripts/generate-react-view-governance.mjs","e2e/scripts/verify-react-view-governance.mjs","e2e/tests/ui-modules/react-view-governance.generated.json","frontend-react/.env.android","frontend-react/.env.example","frontend-react/.env.ios","frontend-react/.eslintrc.cjs","frontend-react/Dockerfile","frontend-react/Dockerfile.prebuilt","frontend-react/android/.gitignore","frontend-react/android/app/.gitignore","frontend-react/android/app/build.gradle","frontend-react/android/app/capacitor.build.gradle","frontend-react/android/app/proguard-rules.pro","frontend-react/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java","frontend-react/android/app/src/main/AndroidManifest.xml","frontend-react/android/app/src/main/java/com/juhi/omnihub/MainActivity.java","frontend-react/android/app/src/main/res/drawable-land-hdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-mdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xxxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-hdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-mdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xxxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml","frontend-react/android/app/src/main/res/drawable/ic_launcher_background.xml","frontend-react/android/app/src/main/res/drawable/splash.png","frontend-react/android/app/src/main/res/layout/activity_main.xml","frontend-react/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","frontend-react/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/values/ic_launcher_background.xml","frontend-react/android/app/src/main/res/values/strings.xml","frontend-react/android/app/src/main/res/values/styles.xml","frontend-react/android/app/src/main/res/xml/file_paths.xml","frontend-react/android/app/src/main/res/xml/network_security_config.xml","frontend-react/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java","frontend-react/android/build.gradle","frontend-react/android/capacitor.settings.gradle","frontend-react/android/gradle.properties","frontend-react/android/gradle/wrapper/gradle-wrapper.jar","frontend-react/android/gradle/wrapper/gradle-wrapper.properties","frontend-react/android/gradlew","frontend-react/android/gradlew.bat","frontend-react/android/settings.gradle","frontend-react/android/variables.gradle","frontend-react/capacitor.config.ts","frontend-react/index.html","frontend-react/nginx.conf","frontend-react/package.json","frontend-react/src/api/adapters.ts","frontend-react/src/api/api-base-url.test.ts","frontend-react/src/api/api-base-url.ts","frontend-react/src/api/client.test.ts","frontend-react/src/api/client.ts","frontend-react/src/api/factory.ts","frontend-react/src/api/fetch-all-pages.ts","frontend-react/src/api/im-binding.ts","frontend-react/src/api/index.ts","frontend-react/src/api/modules/__root__.docs.ts","frontend-react/src/api/modules/__tests__/ad-reports.test.ts","frontend-react/src/api/modules/__tests__/ai-autopilot.test.ts","frontend-react/src/api/modules/__tests__/im-websocket.test.ts","frontend-react/src/api/modules/__tests__/lead-scoring-ai.test.ts","frontend-react/src/api/modules/__tests__/leads-lead-scoring.test.ts","frontend-react/src/api/modules/__tests__/login-logs.test.ts","frontend-react/src/api/modules/__tests__/sse-connection-manager.test.ts","frontend-react/src/api/modules/__tests__/ticket-workflows.test.ts","frontend-react/src/api/modules/acquisition.ts","frontend-react/src/api/modules/ad-accounts.ts","frontend-react/src/api/modules/ad-analytics.ts","frontend-react/src/api/modules/ad-audiences.ts","frontend-react/src/api/modules/ad-biddings.ts","frontend-react/src/api/modules/ad-campaigns.test.ts","frontend-react/src/api/modules/ad-campaigns.ts","frontend-react/src/api/modules/ad-creatives.ts","frontend-react/src/api/modules/ad-placement.ts","frontend-react/src/api/modules/ad-placements.ts","frontend-react/src/api/modules/ad-reports.ts","frontend-react/src/api/modules/admin-settings.ts","frontend-react/src/api/modules/agent-group.ts","frontend-react/src/api/modules/agent-sessions.ts","frontend-react/src/api/modules/aging-analysis.ts","frontend-react/src/api/modules/ai-agent-core.ts","frontend-react/src/api/modules/ai-agent-im.ts","frontend-react/src/api/modules/ai-agent-skills.ts","frontend-react/src/api/modules/ai-agent-tasks.ts","frontend-react/src/api/modules/ai-agent-workflows.ts","frontend-react/src/api/modules/ai-agent.ts","frontend-react/src/api/modules/ai-agents.ts","frontend-react/src/api/modules/ai-assist.ts","frontend-react/src/api/modules/ai-autopilot.ts","frontend-react/src/api/modules/ai-copilot.ts","frontend-react/src/api/modules/ai-review-queue.ts","frontend-react/src/api/modules/alliance-agreements.ts","frontend-react/src/api/modules/alliance-analytics.ts","frontend-react/src/api/modules/alliance-campaigns.ts","frontend-react/src/api/modules/alliance-coupons.ts","frontend-react/src/api/modules/alliance-merchants.ts","frontend-react/src/api/modules/alliance-packages.ts","frontend-react/src/api/modules/alliance-partners.ts","frontend-react/src/api/modules/alliance-products.ts","frontend-react/src/api/modules/alliance-promotions.ts","frontend-react/src/api/modules/alliance-referrals.ts","frontend-react/src/api/modules/alliance-settlements.ts","frontend-react/src/api/modules/analytics.test.ts","frontend-react/src/api/modules/analytics.ts","frontend-react/src/api/modules/ap-ledger.test.ts","frontend-react/src/api/modules/ap-ledger.ts","frontend-react/src/api/modules/approval-templates.ts","frontend-react/src/api/modules/approvals.ts","frontend-react/src/api/modules/ar-ledger.test.ts","frontend-react/src/api/modules/ar-ledger.ts","frontend-react/src/api/modules/assembly.ts","frontend-react/src/api/modules/assets.ts","frontend-react/src/api/modules/attribution.test.ts","frontend-react/src/api/modules/attribution.ts","frontend-react/src/api/modules/audit-logs.ts","frontend-react/src/api/modules/auth.ts","frontend-react/src/api/modules/backend-management.docs.ts","frontend-react/src/api/modules/backend-management.ts","frontend-react/src/api/modules/biz-sequences.ts","frontend-react/src/api/modules/bom.ts","frontend-react/src/api/modules/campaign-analytics.ts","frontend-react/src/api/modules/campaign-drafts.ts","frontend-react/src/api/modules/campaign-library.ts","frontend-react/src/api/modules/campaign-targets.ts","frontend-react/src/api/modules/campaign-tools.ts","frontend-react/src/api/modules/campaign-use-case-templates.ts","frontend-react/src/api/modules/campaign-wizard.test.ts","frontend-react/src/api/modules/campaign-wizard.ts","frontend-react/src/api/modules/campaigns.ts","frontend-react/src/api/modules/capability-graph.ts","frontend-react/src/api/modules/cash-flow.test.ts","frontend-react/src/api/modules/cash-flow.ts","frontend-react/src/api/modules/certifications.ts","frontend-react/src/api/modules/channel-analytics.ts","frontend-react/src/api/modules/channel-integrations.ts","frontend-react/src/api/modules/channels.ts","frontend-react/src/api/modules/chart-of-accounts.ts","frontend-react/src/api/modules/cohort-analysis.ts","frontend-react/src/api/modules/commissions.ts","frontend-react/src/api/modules/community-activities.ts","frontend-react/src/api/modules/community-analytics.ts","frontend-react/src/api/modules/community-bots.ts","frontend-react/src/api/modules/community-fission.ts","frontend-react/src/api/modules/community-gamification.ts","frontend-react/src/api/modules/community-groups.ts","frontend-react/src/api/modules/community-levels.ts","frontend-react/src/api/modules/community-materials.ts","frontend-react/src/api/modules/community-members.ts","frontend-react/src/api/modules/community-messages.ts","frontend-react/src/api/modules/community-points.ts","frontend-react/src/api/modules/community-tasks.ts","frontend-react/src/api/modules/consumer-behavior-analytics.ts","frontend-react/src/api/modules/content-analytics.ts","frontend-react/src/api/modules/content-categories.ts","frontend-react/src/api/modules/content-copyright.test.ts","frontend-react/src/api/modules/content-copyright.ts","frontend-react/src/api/modules/content-creation.ts","frontend-react/src/api/modules/content-distribution.ts","frontend-react/src/api/modules/content-library.ts","frontend-react/src/api/modules/content-review.ts","frontend-react/src/api/modules/content-templates.ts","frontend-react/src/api/modules/contract-templates.test.ts","frontend-react/src/api/modules/contract-templates.ts","frontend-react/src/api/modules/contracts.test.ts","frontend-react/src/api/modules/contracts.ts","frontend-react/src/api/modules/cost-allocation.ts","frontend-react/src/api/modules/course-marketplace.ts","frontend-react/src/api/modules/cpq.ts","frontend-react/src/api/modules/crm-activities.ts","frontend-react/src/api/modules/cross-domain-funnel.ts","frontend-react/src/api/modules/customer-analytics.ts","frontend-react/src/api/modules/customer-balance.ts","frontend-react/src/api/modules/customer-health.ts","frontend-react/src/api/modules/customer-journey-orchestration.ts","frontend-react/src/api/modules/customer-journey.ts","frontend-react/src/api/modules/customer-lifecycle-value.ts","frontend-react/src/api/modules/customer-ltv.ts","frontend-react/src/api/modules/customer-marketing.ts","frontend-react/src/api/modules/customer-profit.ts","frontend-react/src/api/modules/customer-segmentation.ts","frontend-react/src/api/modules/customers.test.ts","frontend-react/src/api/modules/customers.ts","frontend-react/src/api/modules/dashboard.ts","frontend-react/src/api/modules/departments.test.ts","frontend-react/src/api/modules/departments.ts","frontend-react/src/api/modules/devices.ts","frontend-react/src/api/modules/diagnosis.ts","frontend-react/src/api/modules/dictionaries.test.ts","frontend-react/src/api/modules/dictionaries.ts","frontend-react/src/api/modules/dimension-transform.ts","frontend-react/src/api/modules/disbursements.ts","frontend-react/src/api/modules/email-marketing.ts","frontend-react/src/api/modules/email-templates.eios.test.ts","frontend-react/src/api/modules/email-templates.ts","frontend-react/src/api/modules/event-logs.ts","frontend-react/src/api/modules/event-subscriptions.ts","frontend-react/src/api/modules/events.ts","frontend-react/src/api/modules/expense-claims.test.ts","frontend-react/src/api/modules/expense-claims.ts","frontend-react/src/api/modules/expense.ts","frontend-react/src/api/modules/faults.ts","frontend-react/src/api/modules/files.ts","frontend-react/src/api/modules/finance-os.ts","frontend-react/src/api/modules/finance-periods.ts","frontend-react/src/api/modules/finance.ts","frontend-react/src/api/modules/financial-reports.ts","frontend-react/src/api/modules/fulfillment.ts","frontend-react/src/api/modules/geo-analytics.ts","frontend-react/src/api/modules/geo-fences.ts","frontend-react/src/api/modules/geo-keywords.ts","frontend-react/src/api/modules/geo-pois.ts","frontend-react/src/api/modules/geo-reviews.ts","frontend-react/src/api/modules/groupbuy-analytics.ts","frontend-react/src/api/modules/groupbuy-campaigns.ts","frontend-react/src/api/modules/groupbuy-commissions.ts","frontend-react/src/api/modules/groupbuy-influencers-api.ts","frontend-react/src/api/modules/groupbuy-influencers-types.ts","frontend-react/src/api/modules/groupbuy-influencers-utils.ts","frontend-react/src/api/modules/groupbuy-influencers.test.ts","frontend-react/src/api/modules/groupbuy-influencers.ts","frontend-react/src/api/modules/groupbuy-inventory.ts","frontend-react/src/api/modules/groupbuy-orders.ts","frontend-react/src/api/modules/groupbuy-participants.ts","frontend-react/src/api/modules/groupbuy-platforms.ts","frontend-react/src/api/modules/groupbuy-pricing.ts","frontend-react/src/api/modules/groupbuy-products.ts","frontend-react/src/api/modules/groupbuy-promotions.ts","frontend-react/src/api/modules/groupbuy-redemptions.ts","frontend-react/src/api/modules/groupbuy-reviews.ts","frontend-react/src/api/modules/groupbuy-settlements.ts","frontend-react/src/api/modules/hr-attendance.test.ts","frontend-react/src/api/modules/hr-attendance.ts","frontend-react/src/api/modules/hr-benefits.test.ts","frontend-react/src/api/modules/hr-benefits.ts","frontend-react/src/api/modules/hr-payroll.ts","frontend-react/src/api/modules/hr-training-api.ts","frontend-react/src/api/modules/hr-training-types.ts","frontend-react/src/api/modules/hr-training.test.ts","frontend-react/src/api/modules/hr-training.ts","frontend-react/src/api/modules/hr.docs.ts","frontend-react/src/api/modules/hr.ts","frontend-react/src/api/modules/im-channels.ts","frontend-react/src/api/modules/im-conversations.ts","frontend-react/src/api/modules/im-messages.ts","frontend-react/src/api/modules/im-websocket.ts","frontend-react/src/api/modules/im.ts","frontend-react/src/api/modules/integration-services.ts","frontend-react/src/api/modules/intent-analyzer.ts","frontend-react/src/api/modules/inventory-reservations.ts","frontend-react/src/api/modules/inventory.test.ts","frontend-react/src/api/modules/inventory.ts","frontend-react/src/api/modules/invoices.ts","frontend-react/src/api/modules/journal-entries.ts","frontend-react/src/api/modules/journey-orchestration.ts","frontend-react/src/api/modules/knowledge-base.ts","frontend-react/src/api/modules/knowledge-candidates.test.ts","frontend-react/src/api/modules/knowledge-candidates.ts","frontend-react/src/api/modules/knowledge-capture-rules.ts","frontend-react/src/api/modules/knowledge-capture.ts","frontend-react/src/api/modules/knowledge-feedback.test.ts","frontend-react/src/api/modules/knowledge-feedback.ts","frontend-react/src/api/modules/knowledge.ts","frontend-react/src/api/modules/landing-pages.ts","frontend-react/src/api/modules/lead-pools.ts","frontend-react/src/api/modules/lead-qualification.ts","frontend-react/src/api/modules/lead-scoring-ai.ts","frontend-react/src/api/modules/lead-sla.ts","frontend-react/src/api/modules/leads.test.ts","frontend-react/src/api/modules/leads.ts","frontend-react/src/api/modules/learning-paths.ts","frontend-react/src/api/modules/livestream-analytics.ts","frontend-react/src/api/modules/livestream-gifts.ts","frontend-react/src/api/modules/livestream-groupbuy-conversion.ts","frontend-react/src/api/modules/livestream-groupbuy.ts","frontend-react/src/api/modules/livestream-interactions.ts","frontend-react/src/api/modules/livestream-products.ts","frontend-react/src/api/modules/livestream-rooms.ts","frontend-react/src/api/modules/livestream-schedules.ts","frontend-react/src/api/modules/livestream-scripts.ts","frontend-react/src/api/modules/livestream.ts","frontend-react/src/api/modules/location-assessments.ts","frontend-react/src/api/modules/login-logs.ts","frontend-react/src/api/modules/maintenance.ts","frontend-react/src/api/modules/marketing-attribution.docs.ts","frontend-react/src/api/modules/marketing-attribution.ts","frontend-react/src/api/modules/marketing-automation.ts","frontend-react/src/api/modules/marketing-calendar.ts","frontend-react/src/api/modules/marketing-chatbot.ts","frontend-react/src/api/modules/marketing-content.ts","frontend-react/src/api/modules/marketing-effectiveness.docs.ts","frontend-react/src/api/modules/marketing-effectiveness.ts","frontend-react/src/api/modules/marketing-forms.ts","frontend-react/src/api/modules/marketing-matrix.ts","frontend-react/src/api/modules/marketing-north-star.test.ts","frontend-react/src/api/modules/marketing-north-star.ts","frontend-react/src/api/modules/marketing-timeslots.ts","frontend-react/src/api/modules/marketing-tools.docs.ts","frontend-react/src/api/modules/marketing-tools.ts","frontend-react/src/api/modules/marketing-workflows.ts","frontend-react/src/api/modules/marketing.ts","frontend-react/src/api/modules/mdm.ts","frontend-react/src/api/modules/meddpicc-analyses.ts","frontend-react/src/api/modules/menus.ts","frontend-react/src/api/modules/multi-touch-attribution.ts","frontend-react/src/api/modules/notification-configs.ts","frontend-react/src/api/modules/notifications.ts","frontend-react/src/api/modules/omnichannel-dashboard.ts","frontend-react/src/api/modules/omnichannel-data-hub.ts","frontend-react/src/api/modules/omnichannel-touchpoints.ts","frontend-react/src/api/modules/operation-logs.ts","frontend-react/src/api/modules/opportunities.test.ts","frontend-react/src/api/modules/opportunities.ts","frontend-react/src/api/modules/orders.test.ts","frontend-react/src/api/modules/orders.ts","frontend-react/src/api/modules/org-chart.docs.ts","frontend-react/src/api/modules/org-chart.ts","frontend-react/src/api/modules/outbound.ts","frontend-react/src/api/modules/partner-customers.ts","frontend-react/src/api/modules/partners.ts","frontend-react/src/api/modules/payment-analytics.ts","frontend-react/src/api/modules/payment-plans.ts","frontend-react/src/api/modules/payments.ts","frontend-react/src/api/modules/performance-aggregates.ts","frontend-react/src/api/modules/pm.ts","frontend-react/src/api/modules/positions.docs.ts","frontend-react/src/api/modules/positions.ts","frontend-react/src/api/modules/predictive-analytics.ts","frontend-react/src/api/modules/price-books.test.ts","frontend-react/src/api/modules/price-books.ts","frontend-react/src/api/modules/process-designer.ts","frontend-react/src/api/modules/process-im.ts","frontend-react/src/api/modules/process.ts","frontend-react/src/api/modules/product-analytics.docs.ts","frontend-react/src/api/modules/product-analytics.ts","frontend-react/src/api/modules/product-categories.ts","frontend-react/src/api/modules/products.test.ts","frontend-react/src/api/modules/products.ts","frontend-react/src/api/modules/projects-api.ts","frontend-react/src/api/modules/projects-types.ts","frontend-react/src/api/modules/projects.ts","frontend-react/src/api/modules/purchase-orders.test.ts","frontend-react/src/api/modules/purchase-orders.ts","frontend-react/src/api/modules/qr-codes.ts","frontend-react/src/api/modules/quotes.test.ts","frontend-react/src/api/modules/quotes.ts","frontend-react/src/api/modules/realtime-trigger.ts","frontend-react/src/api/modules/realtime.ts","frontend-react/src/api/modules/reconciliation.ts","frontend-react/src/api/modules/redemptions.ts","frontend-react/src/api/modules/renewal-tasks.ts","frontend-react/src/api/modules/renewals.ts","frontend-react/src/api/modules/reports.ts","frontend-react/src/api/modules/resource-requests.ts","frontend-react/src/api/modules/revenue-recognition.ts","frontend-react/src/api/modules/revenue.ts","frontend-react/src/api/modules/rfm-analysis.ts","frontend-react/src/api/modules/rma.ts","frontend-react/src/api/modules/roles.test.ts","frontend-react/src/api/modules/roles.ts","frontend-react/src/api/modules/sales-coach.ts","frontend-react/src/api/modules/sales-dashboard.test.ts","frontend-react/src/api/modules/sales-dashboard.ts","frontend-react/src/api/modules/sample-requests.ts","frontend-react/src/api/modules/satisfaction.ts","frontend-react/src/api/modules/scheduled-jobs.ts","frontend-react/src/api/modules/search.ts","frontend-react/src/api/modules/security-settings.docs.ts","frontend-react/src/api/modules/security-settings.ts","frontend-react/src/api/modules/segments.ts","frontend-react/src/api/modules/self-operated-store.ts","frontend-react/src/api/modules/serial-numbers.ts","frontend-react/src/api/modules/service-dashboard.ts","frontend-react/src/api/modules/service-monitor.ts","frontend-react/src/api/modules/service.docs.ts","frontend-react/src/api/modules/service.ts","frontend-react/src/api/modules/settings.docs.ts","frontend-react/src/api/modules/settings.ts","frontend-react/src/api/modules/shipments.docs.ts","frontend-react/src/api/modules/shipments.ts","frontend-react/src/api/modules/sla.ts","frontend-react/src/api/modules/sms-marketing.ts","frontend-react/src/api/modules/social-accounts.ts","frontend-react/src/api/modules/social-analytics.ts","frontend-react/src/api/modules/social-auto-replies.ts","frontend-react/src/api/modules/social-competitors.ts","frontend-react/src/api/modules/social-followers.ts","frontend-react/src/api/modules/social-hot-topics.ts","frontend-react/src/api/modules/social-interactions.ts","frontend-react/src/api/modules/social-posts.ts","frontend-react/src/api/modules/spare-parts.ts","frontend-react/src/api/modules/stage-knowledge-packs.ts","frontend-react/src/api/modules/stage-knowledge.ts","frontend-react/src/api/modules/store-agency.ts","frontend-react/src/api/modules/store-configs.ts","frontend-react/src/api/modules/store-dashboard.ts","frontend-react/src/api/modules/store-inventory.ts","frontend-react/src/api/modules/store-ops-compat.test.ts","frontend-react/src/api/modules/store-performance.test.ts","frontend-react/src/api/modules/store-performance.ts","frontend-react/src/api/modules/store-settlements.ts","frontend-react/src/api/modules/store-staff.ts","frontend-react/src/api/modules/stores.test.ts","frontend-react/src/api/modules/stores.ts","frontend-react/src/api/modules/supplier-center.ts","frontend-react/src/api/modules/supplier-management.ts","frontend-react/src/api/modules/supplier-payments.test.ts","frontend-react/src/api/modules/supplier-payments.ts","frontend-react/src/api/modules/suppliers.test.ts","frontend-react/src/api/modules/suppliers.ts","frontend-react/src/api/modules/supply-chain.ts","frontend-react/src/api/modules/swot-analyses.ts","frontend-react/src/api/modules/system-events.ts","frontend-react/src/api/modules/system-import.ts","frontend-react/src/api/modules/system-monitor.ts","frontend-react/src/api/modules/system-settings.ts","frontend-react/src/api/modules/system.docs.ts","frontend-react/src/api/modules/system.ts","frontend-react/src/api/modules/talent-review.ts","frontend-react/src/api/modules/targets.ts","frontend-react/src/api/modules/tenant-configs.ts","frontend-react/src/api/modules/tenant-settings.ts","frontend-react/src/api/modules/ticket-dependencies.ts","frontend-react/src/api/modules/ticket-gantt.ts","frontend-react/src/api/modules/ticket-workflows.ts","frontend-react/src/api/modules/tickets.ts","frontend-react/src/api/modules/tob-toc-gateway.ts","frontend-react/src/api/modules/treasury.ts","frontend-react/src/api/modules/unified-campaign.ts","frontend-react/src/api/modules/users.test.ts","frontend-react/src/api/modules/users.ts","frontend-react/src/api/modules/utm-tracking.ts","frontend-react/src/api/modules/video-call.ts","frontend-react/src/api/modules/video-calls.ts","frontend-react/src/api/modules/web-tracking.ts","frontend-react/src/api/modules/workflow-designer.ts","frontend-react/src/api/response-normalizer.test.ts","frontend-react/src/api/response-normalizer.ts","frontend-react/src/app/App.tsx","frontend-react/src/app/providers/ErrorBoundary.test.tsx","frontend-react/src/app/providers/ErrorBoundary.tsx","frontend-react/src/app/providers/FeedbackBinder.tsx","frontend-react/src/app/providers/QueryProvider.tsx","frontend-react/src/app/providers/ThemeProvider.tsx","frontend-react/src/app/theme/antd-tokens.test.ts","frontend-react/src/app/theme/antd-tokens.ts","frontend-react/src/components/BatchActionBar.module.scss","frontend-react/src/components/BatchActionBar.test.tsx","frontend-react/src/components/BatchActionBar.tsx","frontend-react/src/components/business/BizCodeLink.module.scss","frontend-react/src/components/business/BizCodeLink.test.tsx","frontend-react/src/components/business/BizCodeLink.tsx","frontend-react/src/components/business/EventKnowledgeInput.module.scss","frontend-react/src/components/business/EventKnowledgeInput.test.tsx","frontend-react/src/components/business/EventKnowledgeInput.tsx","frontend-react/src/components/business/IMPanel.module.scss","frontend-react/src/components/business/IMPanel.test.tsx","frontend-react/src/components/business/IMPanel.tsx","frontend-react/src/components/business/LeadConvertDialog.tsx","frontend-react/src/components/business/ObjectionDetector.module.scss","frontend-react/src/components/business/ObjectionDetector.test.tsx","frontend-react/src/components/business/ObjectionDetector.tsx","frontend-react/src/components/business/SLAClock.module.scss","frontend-react/src/components/business/SLAClock.tsx","frontend-react/src/components/business/UserPicker.module.scss","frontend-react/src/components/business/UserPicker.test.tsx","frontend-react/src/components/business/UserPicker.tsx","frontend-react/src/components/business/event-stream/EventStreamPanel.tsx","frontend-react/src/components/business/event-stream/__tests__/EventStreamPanel.test.tsx","frontend-react/src/components/business/im-panel/ConversationMessages.module.scss","frontend-react/src/components/business/im-panel/ConversationMessages.tsx","frontend-react/src/components/business/im-panel/__tests__/ConversationMessages.test.tsx","frontend-react/src/components/business/index.ts","frontend-react/src/components/common/Chart.test.tsx","frontend-react/src/components/common/Chart.tsx","frontend-react/src/components/common/DataTable.module.scss","frontend-react/src/components/common/DataTable.test.tsx","frontend-react/src/components/common/DataTable.tsx","frontend-react/src/components/common/EmptyState.module.scss","frontend-react/src/components/common/EmptyState.tsx","frontend-react/src/components/common/ExportButton.tsx","frontend-react/src/components/common/FormDialog.module.scss","frontend-react/src/components/common/FormDialog.tsx","frontend-react/src/components/common/ImportDialog.module.scss","frontend-react/src/components/common/ImportDialog.tsx","frontend-react/src/components/common/JHLogo.module.scss","frontend-react/src/components/common/JHLogo.tsx","frontend-react/src/components/common/LoadingFallback.module.scss","frontend-react/src/components/common/LoadingFallback.tsx","frontend-react/src/components/common/PageHeader.module.scss","frontend-react/src/components/common/PageHeader.tsx","frontend-react/src/components/common/Permission.tsx","frontend-react/src/components/common/ResponsiveDataTable.module.scss","frontend-react/src/components/common/ResponsiveDataTable.test.tsx","frontend-react/src/components/common/ResponsiveDataTable.tsx","frontend-react/src/components/common/SearchForm.module.scss","frontend-react/src/components/common/SearchForm.test.tsx","frontend-react/src/components/common/SearchForm.tsx","frontend-react/src/components/common/SkeletonLoader.module.scss","frontend-react/src/components/common/SkeletonLoader.tsx","frontend-react/src/components/common/StatsCard.module.scss","frontend-react/src/components/common/StatsCard.tsx","frontend-react/src/components/common/StatusBadge.module.scss","frontend-react/src/components/common/StatusBadge.tsx","frontend-react/src/components/common/common-small.test.tsx","frontend-react/src/components/common/dialogs.test.tsx","frontend-react/src/components/common/index.ts","frontend-react/src/components/layout/AppLayout.module.scss","frontend-react/src/components/layout/AppLayout.test.tsx","frontend-react/src/components/layout/AppLayout.tsx","frontend-react/src/components/layout/Breadcrumb.module.scss","frontend-react/src/components/layout/Breadcrumb.tsx","frontend-react/src/components/layout/Header.module.scss","frontend-react/src/components/layout/Header.test.tsx","frontend-react/src/components/layout/Header.tsx","frontend-react/src/components/layout/MobileAppShell.module.scss","frontend-react/src/components/layout/MobileAppShell.test.tsx","frontend-react/src/components/layout/MobileAppShell.tsx","frontend-react/src/components/layout/MobileBottomNav.module.scss","frontend-react/src/components/layout/MobileBottomNav.test.tsx","frontend-react/src/components/layout/MobileBottomNav.tsx","frontend-react/src/components/layout/MobileDrawer.module.scss","frontend-react/src/components/layout/MobileDrawer.tsx","frontend-react/src/components/layout/MobileHeader.module.scss","frontend-react/src/components/layout/MobileHeader.tsx","frontend-react/src/components/layout/OfflineBanner.module.scss","frontend-react/src/components/layout/OfflineBanner.tsx","frontend-react/src/components/layout/PageAIAssistWidget.tsx","frontend-react/src/components/layout/ServiceStatusIndicator.module.scss","frontend-react/src/components/layout/ServiceStatusIndicator.tsx","frontend-react/src/components/layout/Sidebar.module.scss","frontend-react/src/components/layout/Sidebar.test.tsx","frontend-react/src/components/layout/Sidebar.tsx","frontend-react/src/components/layout/index.ts","frontend-react/src/components/mobile/BottomActionBar.module.scss","frontend-react/src/components/mobile/BottomActionBar.test.tsx","frontend-react/src/components/mobile/BottomActionBar.tsx","frontend-react/src/components/mobile/FloatingActionButton.module.scss","frontend-react/src/components/mobile/FloatingActionButton.tsx","frontend-react/src/components/mobile/MobileCard.module.scss","frontend-react/src/components/mobile/MobileCard.test.tsx","frontend-react/src/components/mobile/MobileCard.tsx","frontend-react/src/components/mobile/MobileFilterDrawer.module.scss","frontend-react/src/components/mobile/MobileFilterDrawer.test.tsx","frontend-react/src/components/mobile/MobileFilterDrawer.tsx","frontend-react/src/components/mobile/MobileFormStepper.module.scss","frontend-react/src/components/mobile/MobileFormStepper.test.tsx","frontend-react/src/components/mobile/MobileFormStepper.tsx","frontend-react/src/components/mobile/MobileList.module.scss","frontend-react/src/components/mobile/MobileList.test.tsx","frontend-react/src/components/mobile/MobileList.tsx","frontend-react/src/components/mobile/PullRefresh.module.scss","frontend-react/src/components/mobile/PullRefresh.test.tsx","frontend-react/src/components/mobile/PullRefresh.tsx","frontend-react/src/components/mobile/README.md","frontend-react/src/components/mobile/SwipeAction.module.scss","frontend-react/src/components/mobile/SwipeAction.test.tsx","frontend-react/src/components/mobile/SwipeAction.tsx","frontend-react/src/components/mobile/index.ts","frontend-react/src/components/responsive/ResponsiveTabs.module.scss","frontend-react/src/components/responsive/ResponsiveTabs.test.tsx","frontend-react/src/components/responsive/ResponsiveTabs.tsx","frontend-react/src/components/responsive/index.ts","frontend-react/src/hooks/__tests__/useImRealtimeNotifications.test.tsx","frontend-react/src/hooks/index.ts","frontend-react/src/hooks/useBatchActions.ts","frontend-react/src/hooks/useFormDraft.ts","frontend-react/src/hooks/useFormSubmit.test.tsx","frontend-react/src/hooks/useFormSubmit.ts","frontend-react/src/hooks/useImRealtimeNotifications.ts","frontend-react/src/hooks/useLayout.ts","frontend-react/src/hooks/useListPage.test.tsx","frontend-react/src/hooks/useListPage.ts","frontend-react/src/hooks/usePermission.ts","frontend-react/src/hooks/useResponsive.test.tsx","frontend-react/src/hooks/useResponsive.ts","frontend-react/src/hooks/useSwipeBack.test.tsx","frontend-react/src/hooks/useSwipeBack.ts","frontend-react/src/i18n/index.test.ts","frontend-react/src/i18n/index.ts","frontend-react/src/i18n/locales/en-SG.ts","frontend-react/src/i18n/locales/en-US.ts","frontend-react/src/i18n/locales/id-ID.ts","frontend-react/src/i18n/locales/zh-CN.ts","frontend-react/src/i18n/menu-map.ts","frontend-react/src/lib/crypto/index.test.ts","frontend-react/src/lib/crypto/index.ts","frontend-react/src/lib/crypto/key-exchange.ts","frontend-react/src/lib/crypto/key-manager.ts","frontend-react/src/lib/crypto/message-crypto.ts","frontend-react/src/lib/crypto/session-key.ts","frontend-react/src/lib/crypto/storage.ts","frontend-react/src/main.tsx","frontend-react/src/router/guards.test.tsx","frontend-react/src/router/guards.tsx","frontend-react/src/router/index.tsx","frontend-react/src/router/menu.ts","frontend-react/src/router/modules/__tests__/compat-redirects.test.tsx","frontend-react/src/router/modules/__tests__/eios-retired-workflow.test.tsx","frontend-react/src/router/modules/acquisition.tsx","frontend-react/src/router/modules/ai-agents.tsx","frontend-react/src/router/modules/compat-redirects.tsx","frontend-react/src/router/modules/content-social.tsx","frontend-react/src/router/modules/dashboard.tsx","frontend-react/src/router/modules/finance.tsx","frontend-react/src/router/modules/hr.tsx","frontend-react/src/router/modules/marketing.tsx","frontend-react/src/router/modules/sales.tsx","frontend-react/src/router/modules/service.tsx","frontend-react/src/router/modules/stores.tsx","frontend-react/src/router/modules/supplemental.tsx","frontend-react/src/router/modules/supply-chain.tsx","frontend-react/src/router/modules/system.tsx","frontend-react/src/router/route-paths.ts","frontend-react/src/router/types.ts","frontend-react/src/router/view-loader.tsx","frontend-react/src/stores/__tests__/imConnection.test.ts","frontend-react/src/stores/__tests__/imConversation.test.ts","frontend-react/src/stores/__tests__/imMessage.test.ts","frontend-react/src/stores/app.ts","frontend-react/src/stores/auth.ts","frontend-react/src/stores/imConnection.ts","frontend-react/src/stores/imConversation.ts","frontend-react/src/stores/imMessage.ts","frontend-react/src/stores/index.ts","frontend-react/src/stores/layout.ts","frontend-react/src/stores/persist-compat.ts","frontend-react/src/styles/_containers.scss","frontend-react/src/styles/_dark-mode.scss","frontend-react/src/styles/_mobile-global.scss","frontend-react/src/styles/_variables.scss","frontend-react/src/styles/index.scss","frontend-react/src/styles/transitions.scss","frontend-react/src/test/setup.tsx","frontend-react/src/types/ai-agent.ts","frontend-react/src/types/common.ts","frontend-react/src/types/enums.ts","frontend-react/src/types/fetch-event-source.d.ts","frontend-react/src/types/gantt.ts","frontend-react/src/types/im-binding.ts","frontend-react/src/types/index.ts","frontend-react/src/types/mdm.ts","frontend-react/src/types/models.ts","frontend-react/src/types/process.ts","frontend-react/src/types/project-gantt.ts","frontend-react/src/utils/array-guard.test.ts","frontend-react/src/utils/array-guard.ts","frontend-react/src/utils/case-converter.test.ts","frontend-react/src/utils/case-converter.ts","frontend-react/src/utils/color.ts","frontend-react/src/utils/date.test.ts","frontend-react/src/utils/date.ts","frontend-react/src/utils/echarts.ts","frontend-react/src/utils/error.test.ts","frontend-react/src/utils/error.ts","frontend-react/src/utils/feedback.ts","frontend-react/src/utils/formatters.test.ts","frontend-react/src/utils/formatters.ts","frontend-react/src/utils/health-endpoints.test.ts","frontend-react/src/utils/health-endpoints.ts","frontend-react/src/utils/idempotency.test.ts","frontend-react/src/utils/idempotency.ts","frontend-react/src/utils/index.ts","frontend-react/src/utils/logger.test.ts","frontend-react/src/utils/logger.ts","frontend-react/src/utils/media-server-url.test.ts","frontend-react/src/utils/media-server-url.ts","frontend-react/src/utils/message-throttle.test.ts","frontend-react/src/utils/message-throttle.ts","frontend-react/src/utils/number.test.ts","frontend-react/src/utils/number.ts","frontend-react/src/utils/object-guard.test.ts","frontend-react/src/utils/object-guard.ts","frontend-react/src/utils/pdf.ts","frontend-react/src/utils/region-data.ts","frontend-react/src/utils/type-mappers.test.ts","frontend-react/src/utils/type-mappers.ts","frontend-react/src/utils/validators.test.ts","frontend-react/src/utils/validators.ts","frontend-react/src/views/Login.tsx","frontend-react/src/views/NotFound.tsx","frontend-react/src/views/__tests__/low-risk-mock-view-replacements.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch2.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch3.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch4.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch5.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch6.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch7.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch8.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch9.test.tsx","frontend-react/src/views/abm-marketing/Form.module.scss","frontend-react/src/views/abm-marketing/Form.tsx","frontend-react/src/views/abm-marketing/Index.module.scss","frontend-react/src/views/abm-marketing/Index.tsx","frontend-react/src/views/acquisition/Acquisition.module.scss","frontend-react/src/views/acquisition/DeepAnalysis.tsx","frontend-react/src/views/acquisition/Index.tsx","frontend-react/src/views/acquisition/__tests__/acquisition-index.test.tsx","frontend-react/src/views/acquisition/__tests__/deep-analysis.test.tsx","frontend-react/src/views/ad-accounts/AdAccounts.module.scss","frontend-react/src/views/ad-accounts/Detail.tsx","frontend-react/src/views/ad-accounts/Form.tsx","frontend-react/src/views/ad-accounts/Index.tsx","frontend-react/src/views/ad-accounts/__tests__/ad-accounts.test.tsx","frontend-react/src/views/ad-accounts/adAccountMeta.ts","frontend-react/src/views/ad-analytics/Index.module.scss","frontend-react/src/views/ad-analytics/Index.tsx","frontend-react/src/views/ad-audiences/AdAudiences.module.scss","frontend-react/src/views/ad-audiences/Detail.tsx","frontend-react/src/views/ad-audiences/Form.tsx","frontend-react/src/views/ad-audiences/Index.tsx","frontend-react/src/views/ad-audiences/__tests__/ad-audiences.test.tsx","frontend-react/src/views/ad-audiences/adAudienceMeta.ts","frontend-react/src/views/ad-biddings/AdBiddings.module.scss","frontend-react/src/views/ad-biddings/Detail.tsx","frontend-react/src/views/ad-biddings/Form.tsx","frontend-react/src/views/ad-biddings/Index.tsx","frontend-react/src/views/ad-biddings/__tests__/ad-biddings.test.tsx","frontend-react/src/views/ad-biddings/adBiddingMeta.ts","frontend-react/src/views/ad-campaigns/AdCampaigns.module.scss","frontend-react/src/views/ad-campaigns/Detail.tsx","frontend-react/src/views/ad-campaigns/Form.tsx","frontend-react/src/views/ad-campaigns/Index.tsx","frontend-react/src/views/ad-campaigns/__tests__/ad-campaigns.test.tsx","frontend-react/src/views/ad-campaigns/adCampaignMeta.ts","frontend-react/src/views/ad-creatives/AdCreatives.module.scss","frontend-react/src/views/ad-creatives/Detail.tsx","frontend-react/src/views/ad-creatives/Form.tsx","frontend-react/src/views/ad-creatives/Index.tsx","frontend-react/src/views/ad-creatives/__tests__/ad-creatives.test.tsx","frontend-react/src/views/ad-creatives/adCreativeMeta.ts","frontend-react/src/views/ad-placement/ABTests.tsx","frontend-react/src/views/ad-placement/AdPlacement.module.scss","frontend-react/src/views/ad-placement/AudiencePackForm.tsx","frontend-react/src/views/ad-placement/AudiencePacks.tsx","frontend-react/src/views/ad-placement/BudgetAlerts.tsx","frontend-react/src/views/ad-placement/CampaignForm.tsx","frontend-react/src/views/ad-placement/Creatives.tsx","frontend-react/src/views/ad-placement/Index.tsx","frontend-react/src/views/ad-placement/RoiAnalysis.tsx","frontend-react/src/views/ad-placement/__tests__/ab-tests.test.tsx","frontend-react/src/views/ad-placement/__tests__/ad-placement.test.tsx","frontend-react/src/views/ad-placement/__tests__/audience-packs.test.tsx","frontend-react/src/views/ad-placement/__tests__/budget-alerts.test.tsx","frontend-react/src/views/ad-placement/__tests__/creatives.test.tsx","frontend-react/src/views/ad-placement/__tests__/roi-analysis.test.tsx","frontend-react/src/views/ad-placement/adPlacementMeta.ts","frontend-react/src/views/ad-reports/AdReports.module.scss","frontend-react/src/views/ad-reports/Detail.tsx","frontend-react/src/views/ad-reports/Form.tsx","frontend-react/src/views/ad-reports/Index.tsx","frontend-react/src/views/ad-reports/__tests__/ad-reports.test.tsx","frontend-react/src/views/ad-reports/adReportMeta.ts","frontend-react/src/views/admin/Index.tsx","frontend-react/src/views/admin/Workbench.module.scss","frontend-react/src/views/admin/Workbench.tsx","frontend-react/src/views/admin/audit-logs/Index.module.scss","frontend-react/src/views/admin/audit-logs/Index.tsx","frontend-react/src/views/admin/components/WorkstationCalendarGantt.module.scss","frontend-react/src/views/admin/components/WorkstationCalendarGantt.tsx","frontend-react/src/views/aging-analysis/Index.module.scss","frontend-react/src/views/aging-analysis/Index.tsx","frontend-react/src/views/aging-analysis/__tests__/aging-analysis-index.test.tsx","frontend-react/src/views/ai-agents/AIAgentOpsPages.module.scss","frontend-react/src/views/ai-agents/AIAgents.module.scss","frontend-react/src/views/ai-agents/AITasksPage.module.scss","frontend-react/src/views/ai-agents/AITasksPage.tsx","frontend-react/src/views/ai-agents/AgentCorePages.tsx","frontend-react/src/views/ai-agents/AgentSessions.tsx","frontend-react/src/views/ai-agents/Create.tsx","frontend-react/src/views/ai-agents/Detail.tsx","frontend-react/src/views/ai-agents/Events.tsx","frontend-react/src/views/ai-agents/IMConversations.module.scss","frontend-react/src/views/ai-agents/IMConversations.tsx","frontend-react/src/views/ai-agents/IMIntegrationSettings.module.scss","frontend-react/src/views/ai-agents/IMIntegrationSettings.tsx","frontend-react/src/views/ai-agents/IMQueue.module.scss","frontend-react/src/views/ai-agents/IMQueue.tsx","frontend-react/src/views/ai-agents/Index.tsx","frontend-react/src/views/ai-agents/LeadCollector.tsx","frontend-react/src/views/ai-agents/Metrics.tsx","frontend-react/src/views/ai-agents/Models.tsx","frontend-react/src/views/ai-agents/Overview.tsx","frontend-react/src/views/ai-agents/Queue.tsx","frontend-react/src/views/ai-agents/Tasks.tsx","frontend-react/src/views/ai-agents/TasksPending.tsx","frontend-react/src/views/ai-agents/__tests__/ai-agent-ops-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-agents-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-autopilot-react-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-tasks-review-queue.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-conversations.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-integration-settings.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-queue.test.tsx","frontend-react/src/views/ai-agents/__tests__/skill-library-index.test.tsx","frontend-react/src/views/ai-agents/autopilot/AITestCaseDetail.tsx","frontend-react/src/views/ai-agents/autopilot/AITestCases.tsx","frontend-react/src/views/ai-agents/autopilot/AITestRunDetail.tsx","frontend-react/src/views/ai-agents/autopilot/AutoGrowth.tsx","frontend-react/src/views/ai-agents/autopilot/AutoOps.tsx","frontend-react/src/views/ai-agents/autopilot/AutoPilotCorePages.tsx","frontend-react/src/views/ai-agents/autopilot/Flows.tsx","frontend-react/src/views/ai-agents/autopilot/NaturalCommand.tsx","frontend-react/src/views/ai-agents/autopilot/Overview.tsx","frontend-react/src/views/ai-agents/autopilot/RunDetail.tsx","frontend-react/src/views/ai-agents/autopilot/Runs.tsx","frontend-react/src/views/ai-agents/review-queue/Index.module.scss","frontend-react/src/views/ai-agents/review-queue/Index.tsx","frontend-react/src/views/ai-agents/shared.tsx","frontend-react/src/views/ai-agents/skill-library/Form.tsx","frontend-react/src/views/ai-agents/skill-library/Index.tsx","frontend-react/src/views/ai-copilot/Index.module.scss","frontend-react/src/views/ai-copilot/Index.tsx","frontend-react/src/views/alliance-agreements/Detail.tsx","frontend-react/src/views/alliance-agreements/Form.tsx","frontend-react/src/views/alliance-agreements/Index.tsx","frontend-react/src/views/alliance-analytics/Form.tsx","frontend-react/src/views/alliance-analytics/Index.tsx","frontend-react/src/views/alliance-campaigns/Detail.tsx","frontend-react/src/views/alliance-campaigns/Form.tsx","frontend-react/src/views/alliance-campaigns/Index.tsx","frontend-react/src/views/alliance-coupons/Detail.tsx","frontend-react/src/views/alliance-coupons/Form.tsx","frontend-react/src/views/alliance-coupons/Index.tsx","frontend-react/src/views/alliance-merchants/Form.tsx","frontend-react/src/views/alliance-merchants/Index.tsx","frontend-react/src/views/alliance-packages/Form.tsx","frontend-react/src/views/alliance-packages/Index.tsx","frontend-react/src/views/alliance-partners/Detail.tsx","frontend-react/src/views/alliance-partners/Form.tsx","frontend-react/src/views/alliance-partners/Index.tsx","frontend-react/src/views/alliance-products/Form.tsx","frontend-react/src/views/alliance-products/Index.tsx","frontend-react/src/views/alliance-promotions/Form.tsx","frontend-react/src/views/alliance-promotions/Index.tsx","frontend-react/src/views/alliance-referrals/Form.tsx","frontend-react/src/views/alliance-referrals/Index.tsx","frontend-react/src/views/alliance-settlements/Detail.tsx","frontend-react/src/views/alliance-settlements/Form.tsx","frontend-react/src/views/alliance-settlements/Index.tsx","frontend-react/src/views/alliance-shared/AlliancePages.module.scss","frontend-react/src/views/alliance-shared/AllianceResourceForm.tsx","frontend-react/src/views/alliance-shared/AllianceResourceIndex.tsx","frontend-react/src/views/alliance-shared/AllianceSettlementDetail.tsx","frontend-react/src/views/alliance-shared/__tests__/alliance-resources.test.tsx","frontend-react/src/views/alliance-shared/allianceResourceConfigs.tsx","frontend-react/src/views/alliance-shared/allianceTypes.ts","frontend-react/src/views/analytics/AnalysisWorkbench.module.scss","frontend-react/src/views/analytics/AnalysisWorkbench.tsx","frontend-react/src/views/analytics/Index.tsx","frontend-react/src/views/analytics/Queries.tsx","frontend-react/src/views/analytics/__tests__/dashboard-pending-analytics.test.tsx","frontend-react/src/views/analytics/roi/Index.module.scss","frontend-react/src/views/analytics/roi/Index.tsx","frontend-react/src/views/analytics/roi/__tests__/roi-index.test.tsx","frontend-react/src/views/ap-ledger/Index.tsx","frontend-react/src/views/ap-ledger/__tests__/ap-ledger-index.test.tsx","frontend-react/src/views/approval-configs/ApprovalConfigs.module.scss","frontend-react/src/views/approval-configs/Form.tsx","frontend-react/src/views/approval-configs/Index.tsx","frontend-react/src/views/approval-configs/__tests__/approval-configs.test.tsx","frontend-react/src/views/approval-templates/ApprovalTemplateDesigner.module.scss","frontend-react/src/views/approval-templates/ApprovalTemplates.module.scss","frontend-react/src/views/approval-templates/Form.tsx","frontend-react/src/views/approval-templates/Index.tsx","frontend-react/src/views/approval-templates/__tests__/approval-templates.test.tsx","frontend-react/src/views/approvals/Detail.module.scss","frontend-react/src/views/approvals/Detail.tsx","frontend-react/src/views/approvals/Index.module.scss","frontend-react/src/views/approvals/Index.tsx","frontend-react/src/views/approvals/__tests__/approvals-detail.test.tsx","frontend-react/src/views/approvals/__tests__/approvals-index.test.tsx","frontend-react/src/views/approvals/components/PromptDialog.module.scss","frontend-react/src/views/approvals/components/PromptDialog.tsx","frontend-react/src/views/ar-ledger/Detail.module.scss","frontend-react/src/views/ar-ledger/Detail.tsx","frontend-react/src/views/ar-ledger/Form.module.scss","frontend-react/src/views/ar-ledger/Form.tsx","frontend-react/src/views/ar-ledger/Index.module.scss","frontend-react/src/views/ar-ledger/Index.tsx","frontend-react/src/views/ar-ledger/__tests__/ar-ledger-index.test.tsx","frontend-react/src/views/ar-ledger/components/CollectionManager.module.scss","frontend-react/src/views/ar-ledger/components/CollectionManager.tsx","frontend-react/src/views/ar-ledger/components/StatementGenerator.module.scss","frontend-react/src/views/ar-ledger/components/StatementGenerator.tsx","frontend-react/src/views/ar-ledger/components/index.ts","frontend-react/src/views/assembly/Assembly.module.scss","frontend-react/src/views/assembly/AssemblyOrderForm.tsx","frontend-react/src/views/assembly/AssemblyOrderList.tsx","frontend-react/src/views/assembly/AssemblyReceiptForm.tsx","frontend-react/src/views/assembly/AssemblyReceiptList.tsx","frontend-react/src/views/assembly/BomForm.tsx","frontend-react/src/views/assembly/BomList.tsx","frontend-react/src/views/assembly/MaterialIssueForm.tsx","frontend-react/src/views/assembly/MaterialIssueList.tsx","frontend-react/src/views/assembly/__tests__/assembly-pages.test.tsx","frontend-react/src/views/assembly/assemblyMeta.ts","frontend-react/src/views/assets/Activate.module.scss","frontend-react/src/views/assets/Activate.tsx","frontend-react/src/views/assets/Detail.module.scss","frontend-react/src/views/assets/Detail.tsx","frontend-react/src/views/assets/Form.module.scss","frontend-react/src/views/assets/Form.tsx","frontend-react/src/views/assets/Index.module.scss","frontend-react/src/views/assets/Index.tsx","frontend-react/src/views/attribution-models/Form.module.scss","frontend-react/src/views/attribution-models/Form.tsx","frontend-react/src/views/attribution-models/Index.module.scss","frontend-react/src/views/attribution-models/Index.tsx","frontend-react/src/views/attribution-reports/Index.module.scss","frontend-react/src/views/attribution-reports/Index.tsx","frontend-react/src/views/attribution-reports/__tests__/attribution-reports-index.test.tsx","frontend-react/src/views/attribution/Attribution.module.scss","frontend-react/src/views/attribution/Index.tsx","frontend-react/src/views/attribution/__tests__/attribution.test.tsx","frontend-react/src/views/auth/Index.module.scss","frontend-react/src/views/auth/Index.tsx","frontend-react/src/views/bom/Detail.tsx","frontend-react/src/views/bom/Form.tsx","frontend-react/src/views/bom/Index.tsx","frontend-react/src/views/bom/__tests__/bom-legacy-routes.test.tsx","frontend-react/src/views/campaign-analytics/Index.module.scss","frontend-react/src/views/campaign-analytics/Index.tsx","frontend-react/src/views/campaign-drafts/Index.module.scss","frontend-react/src/views/campaign-drafts/Index.tsx","frontend-react/src/views/campaign-library/Index.module.scss","frontend-react/src/views/campaign-library/Index.tsx","frontend-react/src/views/campaign-library/__tests__/campaign-library-index.test.tsx","frontend-react/src/views/campaign-targets/Index.module.scss","frontend-react/src/views/campaign-targets/Index.tsx","frontend-react/src/views/campaign-targets/__tests__/campaign-targets-index.test.tsx","frontend-react/src/views/campaign-tools/Index.module.scss","frontend-react/src/views/campaign-tools/Index.tsx","frontend-react/src/views/campaign-tools/__tests__/campaign-tools-index.test.tsx","frontend-react/src/views/campaign-use-case-templates/CampaignUseCaseTemplates.module.scss","frontend-react/src/views/campaign-use-case-templates/Form.tsx","frontend-react/src/views/campaign-use-case-templates/Index.tsx","frontend-react/src/views/campaign-use-case-templates/__tests__/campaign-use-case-templates.test.tsx","frontend-react/src/views/campaigns/Detail.tsx","frontend-react/src/views/campaigns/Form.tsx","frontend-react/src/views/campaigns/Index.tsx","frontend-react/src/views/campaigns/__tests__/campaigns.test.tsx","frontend-react/src/views/campaigns/analytics/index.tsx","frontend-react/src/views/campaigns/campaignMeta.ts","frontend-react/src/views/campaigns/wizard/index.tsx","frontend-react/src/views/cash-flow/Detail.module.scss","frontend-react/src/views/cash-flow/Detail.tsx","frontend-react/src/views/cash-flow/Form.module.scss","frontend-react/src/views/cash-flow/Form.tsx","frontend-react/src/views/cash-flow/Index.module.scss","frontend-react/src/views/cash-flow/Index.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-detail.test.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-form.test.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-index.test.tsx","frontend-react/src/views/channel-analytics/Index.module.scss","frontend-react/src/views/channel-analytics/Index.tsx","frontend-react/src/views/channels/Channels.module.scss","frontend-react/src/views/channels/Detail.tsx","frontend-react/src/views/channels/Form.tsx","frontend-react/src/views/channels/Index.tsx","frontend-react/src/views/channels/__tests__/channels-detail.test.tsx","frontend-react/src/views/channels/__tests__/channels-form.test.tsx","frontend-react/src/views/channels/__tests__/channels-index.test.tsx","frontend-react/src/views/channels/channelMeta.tsx","frontend-react/src/views/chart-of-accounts/Form.module.scss","frontend-react/src/views/chart-of-accounts/Form.tsx","frontend-react/src/views/chart-of-accounts/Index.module.scss","frontend-react/src/views/chart-of-accounts/Index.tsx","frontend-react/src/views/chart-of-accounts/__tests__/chart-of-accounts.test.tsx","frontend-react/src/views/cohort-analysis/Detail.tsx","frontend-react/src/views/cohort-analysis/Index.tsx","frontend-react/src/views/collaboration/Workbench.module.scss","frontend-react/src/views/collaboration/Workbench.tsx","frontend-react/src/views/collaboration/__tests__/collaboration-workbench.test.tsx","frontend-react/src/views/commissions/Detail.module.scss","frontend-react/src/views/commissions/Detail.tsx","frontend-react/src/views/commissions/Form.module.scss","frontend-react/src/views/commissions/Form.tsx","frontend-react/src/views/commissions/Index.module.scss","frontend-react/src/views/commissions/Index.tsx","frontend-react/src/views/commissions/__tests__/commissions-detail.test.tsx","frontend-react/src/views/commissions/__tests__/commissions-form.test.tsx","frontend-react/src/views/commissions/__tests__/commissions-index.test.tsx","frontend-react/src/views/commissions/__tests__/my-commissions-tab.test.tsx","frontend-react/src/views/commissions/__tests__/records-tab.test.tsx","frontend-react/src/views/commissions/__tests__/rules-tab.test.tsx","frontend-react/src/views/commissions/__tests__/settlements-tab.test.tsx","frontend-react/src/views/commissions/components/MyCommissionsTab.module.scss","frontend-react/src/views/commissions/components/MyCommissionsTab.tsx","frontend-react/src/views/commissions/components/RecordsTab.tsx","frontend-react/src/views/commissions/components/RulesTab.tsx","frontend-react/src/views/commissions/components/SettlementsTab.tsx","frontend-react/src/views/commissions/components/commission-tabs.module.scss","frontend-react/src/views/community-activities/CommunityActivities.module.scss","frontend-react/src/views/community-activities/Form.tsx","frontend-react/src/views/community-activities/Index.tsx","frontend-react/src/views/community-activities/__tests__/community-activities.test.tsx","frontend-react/src/views/community-activities/communityActivitiesMeta.ts","frontend-react/src/views/community-analytics/CommunityAnalytics.module.scss","frontend-react/src/views/community-analytics/Form.tsx","frontend-react/src/views/community-analytics/Index.tsx","frontend-react/src/views/community-analytics/__tests__/community-analytics.test.tsx","frontend-react/src/views/community-analytics/communityAnalyticsMeta.ts","frontend-react/src/views/community-bots/CommunityBots.module.scss","frontend-react/src/views/community-bots/Form.tsx","frontend-react/src/views/community-bots/Index.tsx","frontend-react/src/views/community-bots/__tests__/community-bots.test.tsx","frontend-react/src/views/community-bots/communityBotsMeta.ts","frontend-react/src/views/community-fission/CommunityFission.module.scss","frontend-react/src/views/community-fission/Form.tsx","frontend-react/src/views/community-fission/Index.tsx","frontend-react/src/views/community-fission/__tests__/community-fission.test.tsx","frontend-react/src/views/community-fission/communityFissionMeta.ts","frontend-react/src/views/community-gamification/Index.module.scss","frontend-react/src/views/community-gamification/Index.tsx","frontend-react/src/views/community-groups/CommunityGroups.module.scss","frontend-react/src/views/community-groups/Form.tsx","frontend-react/src/views/community-groups/Index.tsx","frontend-react/src/views/community-groups/__tests__/community-groups.test.tsx","frontend-react/src/views/community-groups/communityGroupsMeta.ts","frontend-react/src/views/community-levels/CommunityLevels.module.scss","frontend-react/src/views/community-levels/Form.tsx","frontend-react/src/views/community-levels/Index.tsx","frontend-react/src/views/community-levels/__tests__/community-levels.test.tsx","frontend-react/src/views/community-levels/communityLevelsMeta.ts","frontend-react/src/views/community-materials/CommunityMaterials.module.scss","frontend-react/src/views/community-materials/Form.tsx","frontend-react/src/views/community-materials/Index.tsx","frontend-react/src/views/community-materials/__tests__/community-materials.test.tsx","frontend-react/src/views/community-materials/communityMaterialsMeta.ts","frontend-react/src/views/community-members/CommunityMembers.module.scss","frontend-react/src/views/community-members/Form.tsx","frontend-react/src/views/community-members/Index.tsx","frontend-react/src/views/community-members/__tests__/community-members.test.tsx","frontend-react/src/views/community-members/communityMembersMeta.ts","frontend-react/src/views/community-messages/CommunityMessages.module.scss","frontend-react/src/views/community-messages/Form.tsx","frontend-react/src/views/community-messages/Index.tsx","frontend-react/src/views/community-messages/__tests__/community-messages.test.tsx","frontend-react/src/views/community-messages/communityMessagesMeta.ts","frontend-react/src/views/community-points/CommunityPoints.module.scss","frontend-react/src/views/community-points/Form.tsx","frontend-react/src/views/community-points/Index.tsx","frontend-react/src/views/community-points/__tests__/community-points.test.tsx","frontend-react/src/views/community-points/communityPointsMeta.ts","frontend-react/src/views/community-tasks/CommunityTasks.module.scss","frontend-react/src/views/community-tasks/Detail.tsx","frontend-react/src/views/community-tasks/Form.tsx","frontend-react/src/views/community-tasks/Index.tsx","frontend-react/src/views/community-tasks/__tests__/community-tasks.test.tsx","frontend-react/src/views/community-tasks/communityTasksMeta.ts","frontend-react/src/views/consumer-behavior-analytics/Index.tsx","frontend-react/src/views/content-analytics/ContentAnalytics.module.scss","frontend-react/src/views/content-analytics/Index.tsx","frontend-react/src/views/content-analytics/__tests__/content-analytics-index.test.tsx","frontend-react/src/views/content-analytics/contentAnalyticsMeta.ts","frontend-react/src/views/content-categories/ContentCategories.module.scss","frontend-react/src/views/content-categories/Form.tsx","frontend-react/src/views/content-categories/Index.tsx","frontend-react/src/views/content-categories/__tests__/content-categories-form.test.tsx","frontend-react/src/views/content-categories/__tests__/content-categories-index.test.tsx","frontend-react/src/views/content-categories/contentCategoryMeta.ts","frontend-react/src/views/content-copyright/ContentCopyright.module.scss","frontend-react/src/views/content-copyright/Form.tsx","frontend-react/src/views/content-copyright/Index.tsx","frontend-react/src/views/content-copyright/__tests__/content-copyright-form.test.tsx","frontend-react/src/views/content-copyright/__tests__/content-copyright-index.test.tsx","frontend-react/src/views/content-copyright/contentCopyrightMeta.ts","frontend-react/src/views/content-creation/ContentCreation.module.scss","frontend-react/src/views/content-creation/Form.tsx","frontend-react/src/views/content-creation/Index.tsx","frontend-react/src/views/content-creation/__tests__/content-creation-form.test.tsx","frontend-react/src/views/content-creation/__tests__/content-creation-index.test.tsx","frontend-react/src/views/content-creation/contentCreationMeta.ts","frontend-react/src/views/content-distribution/ContentDistribution.module.scss","frontend-react/src/views/content-distribution/Form.tsx","frontend-react/src/views/content-distribution/Index.tsx","frontend-react/src/views/content-distribution/__tests__/content-distribution-form.test.tsx","frontend-react/src/views/content-distribution/__tests__/content-distribution-index.test.tsx","frontend-react/src/views/content-distribution/contentDistributionMeta.ts","frontend-react/src/views/content-library/ContentLibrary.module.scss","frontend-react/src/views/content-library/Detail.tsx","frontend-react/src/views/content-library/Form.tsx","frontend-react/src/views/content-library/Index.tsx","frontend-react/src/views/content-library/__tests__/content-library-detail.test.tsx","frontend-react/src/views/content-library/__tests__/content-library-form.test.tsx","frontend-react/src/views/content-library/__tests__/content-library-index.test.tsx","frontend-react/src/views/content-library/contentLibraryMeta.ts","frontend-react/src/views/content-review/ContentReview.module.scss","frontend-react/src/views/content-review/Form.tsx","frontend-react/src/views/content-review/Index.tsx","frontend-react/src/views/content-review/__tests__/content-review-form.test.tsx","frontend-react/src/views/content-review/__tests__/content-review-index.test.tsx","frontend-react/src/views/content-review/contentReviewMeta.ts","frontend-react/src/views/content-social/Workbench.module.scss","frontend-react/src/views/content-social/Workbench.tsx","frontend-react/src/views/content-templates/ContentTemplates.module.scss","frontend-react/src/views/content-templates/Form.tsx","frontend-react/src/views/content-templates/Index.tsx","frontend-react/src/views/content-templates/__tests__/content-templates-form.test.tsx","frontend-react/src/views/content-templates/__tests__/content-templates-index.test.tsx","frontend-react/src/views/content-templates/contentTemplateMeta.ts","frontend-react/src/views/contract-templates/Detail.module.scss","frontend-react/src/views/contract-templates/Detail.tsx","frontend-react/src/views/contract-templates/Form.module.scss","frontend-react/src/views/contract-templates/Form.tsx","frontend-react/src/views/contract-templates/Index.module.scss","frontend-react/src/views/contract-templates/Index.tsx","frontend-react/src/views/contract-templates/__tests__/contract-templates.test.tsx","frontend-react/src/views/contract-templates/components/TemplatePreview.module.scss","frontend-react/src/views/contract-templates/components/TemplatePreview.tsx","frontend-react/src/views/contract-templates/components/VariablePanel.module.scss","frontend-react/src/views/contract-templates/components/VariablePanel.tsx","frontend-react/src/views/contracts/Detail.module.scss","frontend-react/src/views/contracts/Detail.tsx","frontend-react/src/views/contracts/Form.module.scss","frontend-react/src/views/contracts/Form.tsx","frontend-react/src/views/contracts/Index.module.scss","frontend-react/src/views/contracts/Index.tsx","frontend-react/src/views/contracts/__tests__/contracts-detail.test.tsx","frontend-react/src/views/contracts/__tests__/contracts-form.test.tsx","frontend-react/src/views/contracts/__tests__/contracts-index.test.tsx","frontend-react/src/views/contracts/components/DetailApprovalTab.module.scss","frontend-react/src/views/contracts/components/DetailApprovalTab.tsx","frontend-react/src/views/contracts/components/DetailAttachmentsTab.module.scss","frontend-react/src/views/contracts/components/DetailAttachmentsTab.tsx","frontend-react/src/views/contracts/components/DetailInfoTab.module.scss","frontend-react/src/views/contracts/components/DetailInfoTab.tsx","frontend-react/src/views/contracts/components/DetailRelationsTab.module.scss","frontend-react/src/views/contracts/components/DetailRelationsTab.tsx","frontend-react/src/views/contracts/components/DetailSidebar.module.scss","frontend-react/src/views/contracts/components/DetailSidebar.tsx","frontend-react/src/views/contracts/components/DetailVersionsTab.module.scss","frontend-react/src/views/contracts/components/DetailVersionsTab.tsx","frontend-react/src/views/contracts/components/FormBasicSection.module.scss","frontend-react/src/views/contracts/components/FormBasicSection.tsx","frontend-react/src/views/contracts/components/FormSignatoriesSection.module.scss","frontend-react/src/views/contracts/components/FormSignatoriesSection.tsx","frontend-react/src/views/contracts/components/FormSummarySection.module.scss","frontend-react/src/views/contracts/components/FormSummarySection.tsx","frontend-react/src/views/contracts/composables/useContractDetail.ts","frontend-react/src/views/contracts/composables/useContractForm.ts","frontend-react/src/views/conversion-paths/Index.module.scss","frontend-react/src/views/conversion-paths/Index.tsx","frontend-react/src/views/conversion-paths/__tests__/conversion-paths-index.test.tsx","frontend-react/src/views/cost-allocation/Index.module.scss","frontend-react/src/views/cost-allocation/Index.tsx","frontend-react/src/views/cost-allocation/__tests__/cost-allocation-index.test.tsx","frontend-react/src/views/cpq/Index.module.scss","frontend-react/src/views/cpq/Index.tsx","frontend-react/src/views/cpq/__tests__/cpq-index.test.tsx","frontend-react/src/views/crm-activities/Index.module.scss","frontend-react/src/views/crm-activities/Index.tsx","frontend-react/src/views/crm-activities/__tests__/crm-activities-index.test.tsx","frontend-react/src/views/cross-domain-funnel/Index.tsx","frontend-react/src/views/customer-analytics/Index.tsx","frontend-react/src/views/customer-balance/Index.module.scss","frontend-react/src/views/customer-balance/Index.tsx","frontend-react/src/views/customer-balance/__tests__/customer-balance-index.test.tsx","frontend-react/src/views/customer-health/Detail.module.scss","frontend-react/src/views/customer-health/Detail.tsx","frontend-react/src/views/customer-health/Index.module.scss","frontend-react/src/views/customer-health/Index.tsx","frontend-react/src/views/customer-journey-orchestration/Detail.tsx","frontend-react/src/views/customer-journey-orchestration/Index.tsx","frontend-react/src/views/customer-journey-orchestration/__tests__/customer-journey-orchestration.test.tsx","frontend-react/src/views/customer-journey/Detail.tsx","frontend-react/src/views/customer-journey/Index.tsx","frontend-react/src/views/customer-lifecycle-value/Index.tsx","frontend-react/src/views/customer-lifecycle-value/__tests__/customer-lifecycle-value-index.test.tsx","frontend-react/src/views/customer-ltv/Index.module.scss","frontend-react/src/views/customer-ltv/Index.tsx","frontend-react/src/views/customer-ltv/__tests__/customer-ltv-index.test.tsx","frontend-react/src/views/customer-marketing/Index.module.scss","frontend-react/src/views/customer-marketing/Index.tsx","frontend-react/src/views/customer-marketing/__tests__/customer-marketing-index.test.tsx","frontend-react/src/views/customer-marketing/components/CampaignForm.tsx","frontend-react/src/views/customer-profit/Index.tsx","frontend-react/src/views/customer-segmentation/CustomerSegmentation.module.scss","frontend-react/src/views/customer-segmentation/Form.tsx","frontend-react/src/views/customer-segmentation/Index.tsx","frontend-react/src/views/customer-segmentation/__tests__/customer-segmentation.test.tsx","frontend-react/src/views/customer-segmentation/customerSegmentationMeta.ts","frontend-react/src/views/customers/Detail.module.scss","frontend-react/src/views/customers/Detail.tsx","frontend-react/src/views/customers/Form.module.scss","frontend-react/src/views/customers/Form.tsx","frontend-react/src/views/customers/Index.module.scss","frontend-react/src/views/customers/Index.tsx","frontend-react/src/views/customers/__tests__/customers-detail.test.tsx","frontend-react/src/views/customers/__tests__/customers-form.test.tsx","frontend-react/src/views/customers/__tests__/customers-index.test.tsx","frontend-react/src/views/customers/components/DetailBasicInfo.module.scss","frontend-react/src/views/customers/components/DetailBasicInfo.tsx","frontend-react/src/views/customers/components/DetailHealthScore.module.scss","frontend-react/src/views/customers/components/DetailHealthScore.tsx","frontend-react/src/views/customers/components/DetailLifecyclePanel.module.scss","frontend-react/src/views/customers/components/DetailLifecyclePanel.tsx","frontend-react/src/views/customers/components/DetailMobile.module.scss","frontend-react/src/views/customers/components/DetailMobile.tsx","frontend-react/src/views/customers/components/DetailRecordTabs.module.scss","frontend-react/src/views/customers/components/DetailRecordTabs.tsx","frontend-react/src/views/customers/components/FormBasicInfo.module.scss","frontend-react/src/views/customers/components/FormBasicInfo.tsx","frontend-react/src/views/customers/components/FormContacts.module.scss","frontend-react/src/views/customers/components/FormContacts.tsx","frontend-react/src/views/customers/components/FormDuplicateDialog.module.scss","frontend-react/src/views/customers/components/FormDuplicateDialog.tsx","frontend-react/src/views/customers/components/FormServiceConfig.module.scss","frontend-react/src/views/customers/components/FormServiceConfig.tsx","frontend-react/src/views/customers/components/useCustomerDetail.ts","frontend-react/src/views/customers/components/useCustomerForm.ts","frontend-react/src/views/dashboard/Dashboard.module.scss","frontend-react/src/views/dashboard/Index.tsx","frontend-react/src/views/dashboard/SimpleTest.tsx","frontend-react/src/views/dashboard/__tests__/dashboard-index.test.tsx","frontend-react/src/views/dashboard/__tests__/dashboard-simple-test.test.tsx","frontend-react/src/views/departments/Detail.module.scss","frontend-react/src/views/departments/Detail.tsx","frontend-react/src/views/departments/Form.module.scss","frontend-react/src/views/departments/Form.tsx","frontend-react/src/views/departments/Index.module.scss","frontend-react/src/views/departments/Index.tsx","frontend-react/src/views/departments/__tests__/departments-index.test.tsx","frontend-react/src/views/devices/Alerts.module.scss","frontend-react/src/views/devices/Alerts.tsx","frontend-react/src/views/devices/Detail.module.scss","frontend-react/src/views/devices/Detail.tsx","frontend-react/src/views/devices/Form.module.scss","frontend-react/src/views/devices/Form.tsx","frontend-react/src/views/devices/Index.module.scss","frontend-react/src/views/devices/Index.tsx","frontend-react/src/views/devices/__tests__/devices-alerts.test.tsx","frontend-react/src/views/devices/__tests__/devices-form.test.tsx","frontend-react/src/views/devices/__tests__/devices-index.test.tsx","frontend-react/src/views/diagnosis/Index.module.scss","frontend-react/src/views/diagnosis/Index.tsx","frontend-react/src/views/diagnosis/__tests__/diagnosis-index.test.tsx","frontend-react/src/views/dictionaries/Index.module.scss","frontend-react/src/views/dictionaries/Index.tsx","frontend-react/src/views/dictionaries/__tests__/dictionaries-index.test.tsx","frontend-react/src/views/dimension-transform/Index.tsx","frontend-react/src/views/disbursements/Index.module.scss","frontend-react/src/views/disbursements/Index.tsx","frontend-react/src/views/disbursements/components/ApLedgerFormDialog.tsx","frontend-react/src/views/disbursements/components/ApLedgerTab.tsx","frontend-react/src/views/disbursements/components/ApproveDialog.tsx","frontend-react/src/views/disbursements/components/CancelDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementDetailDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementFormDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementsTab.tsx","frontend-react/src/views/disbursements/components/ExecuteDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseCategoriesTab.tsx","frontend-react/src/views/disbursements/components/ExpenseCategoryFormDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseClaimFormDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseClaimsTab.tsx","frontend-react/src/views/disbursements/components/MyExpenseClaimsTab.tsx","frontend-react/src/views/disbursements/components/PaymentDialog.input-range.test.tsx","frontend-react/src/views/disbursements/components/PaymentDialog.tsx","frontend-react/src/views/disbursements/components/__tests__/ap-ledger-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/disbursements-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/expense-categories-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/expense-claims-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/my-expense-claims-tab.test.tsx","frontend-react/src/views/disbursements/components/disbursements-tabs.module.scss","frontend-react/src/views/email-marketing/EmailMarketing.module.scss","frontend-react/src/views/email-marketing/Form.tsx","frontend-react/src/views/email-marketing/Index.tsx","frontend-react/src/views/email-marketing/__tests__/email-marketing.test.tsx","frontend-react/src/views/email-templates/EmailTemplates.module.scss","frontend-react/src/views/email-templates/Form.tsx","frontend-react/src/views/email-templates/Index.tsx","frontend-react/src/views/email-templates/__tests__/email-templates-form.test.tsx","frontend-react/src/views/email-templates/__tests__/email-templates-index.test.tsx","frontend-react/src/views/event-logs/Index.module.scss","frontend-react/src/views/event-logs/Index.tsx","frontend-react/src/views/event-logs/__tests__/event-logs-index.test.tsx","frontend-react/src/views/event-subscriptions/Index.module.scss","frontend-react/src/views/event-subscriptions/Index.tsx","frontend-react/src/views/event-subscriptions/__tests__/event-subscriptions-index.test.tsx","frontend-react/src/views/event-subscriptions/components/SubscriptionForm.module.scss","frontend-react/src/views/event-subscriptions/components/SubscriptionForm.tsx","frontend-react/src/views/expense-claims/Index.tsx","frontend-react/src/views/expense-claims/__tests__/expense-claims-index.test.tsx","frontend-react/src/views/faults/Detail.module.scss","frontend-react/src/views/faults/Detail.tsx","frontend-react/src/views/faults/Form.module.scss","frontend-react/src/views/faults/Form.tsx","frontend-react/src/views/faults/Index.module.scss","frontend-react/src/views/faults/Index.tsx","frontend-react/src/views/faults/__tests__/faults-index.test.tsx","frontend-react/src/views/files/Index.module.scss","frontend-react/src/views/files/Index.tsx","frontend-react/src/views/files/__tests__/files-index.test.tsx","frontend-react/src/views/finance-os/__tests__/finance-os-governance.test.tsx","frontend-react/src/views/finance-os/ai/AIAutopilotCenter.tsx","frontend-react/src/views/finance-os/ai/AutoCreditAdjustment.tsx","frontend-react/src/views/finance-os/ai/AutoFundScheduling.tsx","frontend-react/src/views/finance-os/ai/CashForecastModel.tsx","frontend-react/src/views/finance-os/ai/DefaultProbabilityModel.tsx","frontend-react/src/views/finance-os/ai/RoiExpansionAdvisor.tsx","frontend-react/src/views/finance-os/cash/CashControlTower.tsx","frontend-react/src/views/finance-os/expense/CostAnomaly.tsx","frontend-react/src/views/finance-os/expense/CostCenter.tsx","frontend-react/src/views/finance-os/expense/ExpenseApprovalFlow.tsx","frontend-react/src/views/finance-os/expense/NodeCost.tsx","frontend-react/src/views/finance-os/expense/ProjectCost.tsx","frontend-react/src/views/finance-os/profit/ProfitAssetEngine.tsx","frontend-react/src/views/finance-os/revenue/AutoCollectionCenter.tsx","frontend-react/src/views/finance-os/revenue/PriceTypes.tsx","frontend-react/src/views/finance-os/revenue/RecognitionRules.tsx","frontend-react/src/views/finance-os/risk/RiskCreditHub.tsx","frontend-react/src/views/finance-os/shared/FinanceGovernanceShell.module.scss","frontend-react/src/views/finance-os/shared/FinanceGovernanceShell.tsx","frontend-react/src/views/finance-periods/Index.module.scss","frontend-react/src/views/finance-periods/Index.tsx","frontend-react/src/views/finance-periods/__tests__/finance-periods-index.test.tsx","frontend-react/src/views/finance/Index.module.scss","frontend-react/src/views/finance/Index.tsx","frontend-react/src/views/finance/__tests__/finance-index.test.tsx","frontend-react/src/views/financial-reports/Index.module.scss","frontend-react/src/views/financial-reports/Index.tsx","frontend-react/src/views/financial-reports/__tests__/financial-reports-index.test.tsx","frontend-react/src/views/fulfillment/AcceptanceAudit.tsx","frontend-react/src/views/fulfillment/Closures.tsx","frontend-react/src/views/fulfillment/Detail.tsx","frontend-react/src/views/fulfillment/Evaluations.tsx","frontend-react/src/views/fulfillment/Exceptions.tsx","frontend-react/src/views/fulfillment/Form.tsx","frontend-react/src/views/fulfillment/Fulfillment.module.scss","frontend-react/src/views/fulfillment/Index.tsx","frontend-react/src/views/fulfillment/PlanDetail.tsx","frontend-react/src/views/fulfillment/Plans.tsx","frontend-react/src/views/fulfillment/__tests__/fulfillment.test.tsx","frontend-react/src/views/fulfillment/fulfillmentMeta.ts","frontend-react/src/views/geo-analysis/GeoAnalysis.module.scss","frontend-react/src/views/geo-analysis/Index.tsx","frontend-react/src/views/geo-analysis/__tests__/geo-analysis-index.test.tsx","frontend-react/src/views/geo-analytics/GeoAnalytics.module.scss","frontend-react/src/views/geo-analytics/Index.tsx","frontend-react/src/views/geo-analytics/__tests__/geo-analytics.test.tsx","frontend-react/src/views/geo-analytics/geoAnalyticsMeta.ts","frontend-react/src/views/geo-fences/Detail.tsx","frontend-react/src/views/geo-fences/Form.tsx","frontend-react/src/views/geo-fences/GeoFences.module.scss","frontend-react/src/views/geo-fences/Index.tsx","frontend-react/src/views/geo-fences/__tests__/geo-fences.test.tsx","frontend-react/src/views/geo-fences/geoFencesMeta.ts","frontend-react/src/views/geo-keywords/Detail.tsx","frontend-react/src/views/geo-keywords/GeoKeywords.module.scss","frontend-react/src/views/geo-keywords/Index.tsx","frontend-react/src/views/geo-keywords/__tests__/geo-keywords.test.tsx","frontend-react/src/views/geo-keywords/geoKeywordsMeta.ts","frontend-react/src/views/geo-pois/Detail.tsx","frontend-react/src/views/geo-pois/Form.tsx","frontend-react/src/views/geo-pois/GeoPois.module.scss","frontend-react/src/views/geo-pois/Index.tsx","frontend-react/src/views/geo-pois/__tests__/geo-pois.test.tsx","frontend-react/src/views/geo-pois/geoPoisMeta.ts","frontend-react/src/views/geo-reviews/GeoReviews.module.scss","frontend-react/src/views/geo-reviews/Index.tsx","frontend-react/src/views/geo-reviews/__tests__/geo-reviews.test.tsx","frontend-react/src/views/geo-reviews/geoReviewsMeta.ts","frontend-react/src/views/groupbuy-analytics/Form.tsx","frontend-react/src/views/groupbuy-analytics/GroupbuyAnalytics.module.scss","frontend-react/src/views/groupbuy-analytics/Index.tsx","frontend-react/src/views/groupbuy-analytics/__tests__/groupbuy-analytics.test.tsx","frontend-react/src/views/groupbuy-analytics/groupbuyAnalyticsMeta.ts","frontend-react/src/views/groupbuy-campaigns/Form.tsx","frontend-react/src/views/groupbuy-campaigns/GroupbuyCampaigns.module.scss","frontend-react/src/views/groupbuy-campaigns/Index.tsx","frontend-react/src/views/groupbuy-campaigns/__tests__/groupbuy-campaigns.test.tsx","frontend-react/src/views/groupbuy-campaigns/groupbuyCampaignsMeta.ts","frontend-react/src/views/groupbuy-commissions/Detail.tsx","frontend-react/src/views/groupbuy-commissions/GroupbuyCommissions.module.scss","frontend-react/src/views/groupbuy-commissions/Index.tsx","frontend-react/src/views/groupbuy-commissions/__tests__/groupbuy-commissions.test.tsx","frontend-react/src/views/groupbuy-commissions/groupbuyCommissionsMeta.ts","frontend-react/src/views/groupbuy-influencers/Detail.tsx","frontend-react/src/views/groupbuy-influencers/Form.tsx","frontend-react/src/views/groupbuy-influencers/GroupbuyInfluencers.module.scss","frontend-react/src/views/groupbuy-influencers/Index.tsx","frontend-react/src/views/groupbuy-influencers/__tests__/groupbuy-influencers.test.tsx","frontend-react/src/views/groupbuy-influencers/groupbuyInfluencersMeta.ts","frontend-react/src/views/groupbuy-inventory/GroupbuyInventory.module.scss","frontend-react/src/views/groupbuy-inventory/Index.tsx","frontend-react/src/views/groupbuy-inventory/__tests__/groupbuy-inventory.test.tsx","frontend-react/src/views/groupbuy-orders/Detail.tsx","frontend-react/src/views/groupbuy-orders/Form.tsx","frontend-react/src/views/groupbuy-orders/GroupbuyOrders.module.scss","frontend-react/src/views/groupbuy-orders/Index.tsx","frontend-react/src/views/groupbuy-orders/__tests__/groupbuy-orders.test.tsx","frontend-react/src/views/groupbuy-orders/groupbuyOrdersMeta.ts","frontend-react/src/views/groupbuy-participants/Detail.tsx","frontend-react/src/views/groupbuy-participants/Form.tsx","frontend-react/src/views/groupbuy-participants/GroupbuyParticipants.module.scss","frontend-react/src/views/groupbuy-participants/Index.tsx","frontend-react/src/views/groupbuy-participants/__tests__/groupbuy-participants.test.tsx","frontend-react/src/views/groupbuy-participants/groupbuyParticipantsMeta.ts","frontend-react/src/views/groupbuy-platforms/Form.tsx","frontend-react/src/views/groupbuy-platforms/GroupbuyPlatforms.module.scss","frontend-react/src/views/groupbuy-platforms/Index.tsx","frontend-react/src/views/groupbuy-platforms/__tests__/groupbuy-platforms.test.tsx","frontend-react/src/views/groupbuy-pricing/Form.tsx","frontend-react/src/views/groupbuy-pricing/GroupbuyPricing.module.scss","frontend-react/src/views/groupbuy-pricing/Index.tsx","frontend-react/src/views/groupbuy-pricing/__tests__/groupbuy-pricing-form.test.tsx","frontend-react/src/views/groupbuy-pricing/__tests__/groupbuy-pricing-index.test.tsx","frontend-react/src/views/groupbuy-pricing/groupbuyPricingMeta.ts","frontend-react/src/views/groupbuy-products/Detail.tsx","frontend-react/src/views/groupbuy-products/Form.tsx","frontend-react/src/views/groupbuy-products/GroupbuyProducts.module.scss","frontend-react/src/views/groupbuy-products/Index.tsx","frontend-react/src/views/groupbuy-products/__tests__/groupbuy-products.test.tsx","frontend-react/src/views/groupbuy-products/groupbuyProductsMeta.ts","frontend-react/src/views/groupbuy-promotions/Form.tsx","frontend-react/src/views/groupbuy-promotions/GroupbuyPromotions.module.scss","frontend-react/src/views/groupbuy-promotions/Index.tsx","frontend-react/src/views/groupbuy-promotions/__tests__/groupbuy-promotions.test.tsx","frontend-react/src/views/groupbuy-promotions/groupbuyPromotionsMeta.ts","frontend-react/src/views/groupbuy-redemptions/Detail.tsx","frontend-react/src/views/groupbuy-redemptions/GroupbuyRedemptions.module.scss","frontend-react/src/views/groupbuy-redemptions/Index.tsx","frontend-react/src/views/groupbuy-redemptions/VoucherDetail.tsx","frontend-react/src/views/groupbuy-redemptions/__tests__/groupbuy-redemptions.test.tsx","frontend-react/src/views/groupbuy-redemptions/groupbuyRedemptionsMeta.ts","frontend-react/src/views/groupbuy-reviews/Detail.tsx","frontend-react/src/views/groupbuy-reviews/GroupbuyReviews.module.scss","frontend-react/src/views/groupbuy-reviews/Index.tsx","frontend-react/src/views/groupbuy-reviews/__tests__/groupbuy-reviews.test.tsx","frontend-react/src/views/groupbuy-reviews/groupbuyReviewsMeta.ts","frontend-react/src/views/groupbuy-settlements/Detail.tsx","frontend-react/src/views/groupbuy-settlements/Form.tsx","frontend-react/src/views/groupbuy-settlements/GroupbuySettlements.module.scss","frontend-react/src/views/groupbuy-settlements/Index.tsx","frontend-react/src/views/groupbuy-settlements/__tests__/groupbuy-settlements.test.tsx","frontend-react/src/views/groupbuy-settlements/groupbuySettlementsMeta.ts","frontend-react/src/views/hr/Index.module.scss","frontend-react/src/views/hr/Index.tsx","frontend-react/src/views/hr/Workbench.module.scss","frontend-react/src/views/hr/Workbench.tsx","frontend-react/src/views/hr/__tests__/attendance-index.test.tsx","frontend-react/src/views/hr/__tests__/attendance-tabs.test.tsx","frontend-react/src/views/hr/__tests__/hr-index.test.tsx","frontend-react/src/views/hr/__tests__/hr-workbench.test.tsx","frontend-react/src/views/hr/attendance/Index.module.scss","frontend-react/src/views/hr/attendance/Index.tsx","frontend-react/src/views/hr/attendance/components/AttendanceTab.tsx","frontend-react/src/views/hr/attendance/components/HolidaysTab.tsx","frontend-react/src/views/hr/attendance/components/LeavesTab.tsx","frontend-react/src/views/hr/attendance/components/OvertimeTab.tsx","frontend-react/src/views/hr/attendance/components/PromptDialog.module.scss","frontend-react/src/views/hr/attendance/components/PromptDialog.tsx","frontend-react/src/views/hr/attendance/components/SchedulesTab.tsx","frontend-react/src/views/hr/attendance/components/ShiftsTab.tsx","frontend-react/src/views/hr/attendance/components/tabs.module.scss","frontend-react/src/views/hr/benefits/Index.module.scss","frontend-react/src/views/hr/benefits/Index.tsx","frontend-react/src/views/hr/benefits/__tests__/benefits-index.test.tsx","frontend-react/src/views/hr/benefits/__tests__/claims-tab.test.tsx","frontend-react/src/views/hr/benefits/__tests__/enrollments-tab.test.tsx","frontend-react/src/views/hr/benefits/__tests__/plans-tab.test.tsx","frontend-react/src/views/hr/benefits/components/ClaimsTab.tsx","frontend-react/src/views/hr/benefits/components/EnrollmentsTab.tsx","frontend-react/src/views/hr/benefits/components/PlansTab.tsx","frontend-react/src/views/hr/benefits/components/benefits-tabs.module.scss","frontend-react/src/views/hr/payroll/Index.module.scss","frontend-react/src/views/hr/payroll/Index.tsx","frontend-react/src/views/hr/payroll/__tests__/grades-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/items-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/my-payslips-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/payroll-index.test.tsx","frontend-react/src/views/hr/payroll/__tests__/periods-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/structures-tab.test.tsx","frontend-react/src/views/hr/payroll/components/GradesTab.tsx","frontend-react/src/views/hr/payroll/components/ItemsTab.tsx","frontend-react/src/views/hr/payroll/components/MyPayslipsTab.module.scss","frontend-react/src/views/hr/payroll/components/MyPayslipsTab.tsx","frontend-react/src/views/hr/payroll/components/PeriodsTab.tsx","frontend-react/src/views/hr/payroll/components/StructuresTab.tsx","frontend-react/src/views/hr/payroll/components/payroll-tabs.module.scss","frontend-react/src/views/hr/shared/WorkstationCalendarGantt.module.scss","frontend-react/src/views/hr/shared/WorkstationCalendarGantt.tsx","frontend-react/src/views/hr/shared/pagination.ts","frontend-react/src/views/hr/training/Index.module.scss","frontend-react/src/views/hr/training/Index.tsx","frontend-react/src/views/hr/training/components/CapabilityRadarTab.module.scss","frontend-react/src/views/hr/training/components/CapabilityRadarTab.tsx","frontend-react/src/views/hr/training/components/CertificatesTab.module.scss","frontend-react/src/views/hr/training/components/CertificatesTab.tsx","frontend-react/src/views/hr/training/components/CertificationCatalogTab.module.scss","frontend-react/src/views/hr/training/components/CertificationCatalogTab.tsx","frontend-react/src/views/hr/training/components/CoachPracticeTab.module.scss","frontend-react/src/views/hr/training/components/CoachPracticeTab.tsx","frontend-react/src/views/hr/training/components/CompetencyTab.module.scss","frontend-react/src/views/hr/training/components/CompetencyTab.tsx","frontend-react/src/views/hr/training/components/CourseMarketplaceTab.module.scss","frontend-react/src/views/hr/training/components/CourseMarketplaceTab.tsx","frontend-react/src/views/hr/training/components/CoursesTab.module.scss","frontend-react/src/views/hr/training/components/CoursesTab.tsx","frontend-react/src/views/hr/training/components/EffectDashboardTab.module.scss","frontend-react/src/views/hr/training/components/EffectDashboardTab.tsx","frontend-react/src/views/hr/training/components/ExamsTab.module.scss","frontend-react/src/views/hr/training/components/ExamsTab.tsx","frontend-react/src/views/hr/training/components/LearningPathTab.module.scss","frontend-react/src/views/hr/training/components/LearningPathTab.tsx","frontend-react/src/views/hr/training/components/LearningTab.module.scss","frontend-react/src/views/hr/training/components/LearningTab.tsx","frontend-react/src/views/hr/training/components/NineBoxTab.module.scss","frontend-react/src/views/hr/training/components/NineBoxTab.tsx","frontend-react/src/views/hr/training/components/PlansTab.module.scss","frontend-react/src/views/hr/training/components/PlansTab.tsx","frontend-react/src/views/hr/training/components/RoiDashboardTab.module.scss","frontend-react/src/views/hr/training/components/RoiDashboardTab.tsx","frontend-react/src/views/hr/training/components/SessionsTab.module.scss","frontend-react/src/views/hr/training/components/SessionsTab.tsx","frontend-react/src/views/hr/training/components/__tests__/coach-practice-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/courses-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/effect-dashboard-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/learning-path-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/nine-box-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/sessions-tab.test.tsx","frontend-react/src/views/im/ChannelDetail.tsx","frontend-react/src/views/im/ChannelList.tsx","frontend-react/src/views/im/IM.module.scss","frontend-react/src/views/im/Index.tsx","frontend-react/src/views/im/VideoCallRoom.tsx","frontend-react/src/views/im/__tests__/im-service.test.tsx","frontend-react/src/views/im/channelMeta.ts","frontend-react/src/views/integration-services/Index.tsx","frontend-react/src/views/integration-services/__tests__/integration-services-index.test.tsx","frontend-react/src/views/inventory/AlertSettings.tsx","frontend-react/src/views/inventory/Analytics.tsx","frontend-react/src/views/inventory/CountDetail.tsx","frontend-react/src/views/inventory/Counts.tsx","frontend-react/src/views/inventory/Index.tsx","frontend-react/src/views/inventory/Inventory.module.scss","frontend-react/src/views/inventory/Reservations.tsx","frontend-react/src/views/inventory/Snapshots.tsx","frontend-react/src/views/inventory/__tests__/inventory.test.tsx","frontend-react/src/views/inventory/inventoryMeta.tsx","frontend-react/src/views/invoice-requests/Detail.tsx","frontend-react/src/views/invoice-requests/Form.tsx","frontend-react/src/views/invoice-requests/Index.module.scss","frontend-react/src/views/invoice-requests/Index.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-detail.test.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-form.test.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-index.test.tsx","frontend-react/src/views/invoice-verification/Index.module.scss","frontend-react/src/views/invoice-verification/Index.tsx","frontend-react/src/views/invoice-verification/__tests__/invoice-verification-index.test.tsx","frontend-react/src/views/invoices/Detail.module.scss","frontend-react/src/views/invoices/Detail.tsx","frontend-react/src/views/invoices/Form.module.scss","frontend-react/src/views/invoices/Form.tsx","frontend-react/src/views/invoices/Index.module.scss","frontend-react/src/views/invoices/Index.tsx","frontend-react/src/views/invoices/__tests__/invoices-detail.test.tsx","frontend-react/src/views/invoices/__tests__/invoices-form.test.tsx","frontend-react/src/views/invoices/__tests__/invoices-index.test.tsx","frontend-react/src/views/invoices/components/ReasonPromptDialog.tsx","frontend-react/src/views/journal-entries/Detail.module.scss","frontend-react/src/views/journal-entries/Detail.tsx","frontend-react/src/views/journal-entries/Form.module.scss","frontend-react/src/views/journal-entries/Form.tsx","frontend-react/src/views/journal-entries/Index.module.scss","frontend-react/src/views/journal-entries/Index.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-detail.test.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-form.test.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-index.test.tsx","frontend-react/src/views/journey-orchestration/Detail.tsx","frontend-react/src/views/journey-orchestration/Form.tsx","frontend-react/src/views/journey-orchestration/Index.tsx","frontend-react/src/views/journey-orchestration/JourneyOrchestration.module.scss","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-detail.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-form.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-index.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration.test.tsx","frontend-react/src/views/journey-orchestration/journeyMeta.tsx","frontend-react/src/views/knowledge-base/KnowledgeCapture.tsx","frontend-react/src/views/knowledge-base/KnowledgeFeedback.tsx","frontend-react/src/views/knowledge-base/__tests__/knowledge-base-wrappers.test.tsx","frontend-react/src/views/knowledge-capture/Detail.module.scss","frontend-react/src/views/knowledge-capture/Detail.tsx","frontend-react/src/views/knowledge-capture/Index.module.scss","frontend-react/src/views/knowledge-capture/Index.tsx","frontend-react/src/views/knowledge-capture/__tests__/knowledge-capture-index.test.tsx","frontend-react/src/views/knowledge-capture/components/PromptDialog.module.scss","frontend-react/src/views/knowledge-capture/components/PromptDialog.tsx","frontend-react/src/views/knowledge-feedback/Index.module.scss","frontend-react/src/views/knowledge-feedback/Index.tsx","frontend-react/src/views/knowledge-feedback/__tests__/knowledge-feedback-index.test.tsx","frontend-react/src/views/knowledge/Detail.module.scss","frontend-react/src/views/knowledge/Detail.tsx","frontend-react/src/views/knowledge/Feedback.module.scss","frontend-react/src/views/knowledge/Feedback.tsx","frontend-react/src/views/knowledge/Form.module.scss","frontend-react/src/views/knowledge/Form.tsx","frontend-react/src/views/knowledge/Index.module.scss","frontend-react/src/views/knowledge/Index.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-feedback-view.test.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-form.test.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-index.test.tsx","frontend-react/src/views/knowledge/components/KnowledgeGraph.module.scss","frontend-react/src/views/knowledge/components/KnowledgeGraph.tsx","frontend-react/src/views/knowledge/components/KnowledgeHeatmap.module.scss","frontend-react/src/views/knowledge/components/KnowledgeHeatmap.tsx","frontend-react/src/views/knowledge/components/KnowledgeROI.module.scss","frontend-react/src/views/knowledge/components/KnowledgeROI.tsx","frontend-react/src/views/knowledge/components/KnowledgeVersions.module.scss","frontend-react/src/views/knowledge/components/KnowledgeVersions.tsx","frontend-react/src/views/landing-pages/Form.tsx","frontend-react/src/views/landing-pages/Index.tsx","frontend-react/src/views/landing-pages/LandingPages.module.scss","frontend-react/src/views/landing-pages/__tests__/landing-pages.test.tsx","frontend-react/src/views/lead-assignment/Form.tsx","frontend-react/src/views/lead-assignment/Index.tsx","frontend-react/src/views/lead-assignment/__tests__/lead-assignment.test.tsx","frontend-react/src/views/lead-import/Index.tsx","frontend-react/src/views/lead-import/__tests__/lead-import.test.tsx","frontend-react/src/views/lead-pool/Index.tsx","frontend-react/src/views/lead-pool/__tests__/lead-pool.test.tsx","frontend-react/src/views/lead-pools/Detail.tsx","frontend-react/src/views/lead-pools/Form.tsx","frontend-react/src/views/lead-pools/Index.tsx","frontend-react/src/views/lead-pools/LeadPools.module.scss","frontend-react/src/views/lead-pools/__tests__/lead-pools.test.tsx","frontend-react/src/views/lead-pools/helpers.ts","frontend-react/src/views/lead-qualification/Index.module.scss","frontend-react/src/views/lead-qualification/Index.tsx","frontend-react/src/views/lead-qualification/__tests__/lead-qualification-index.test.tsx","frontend-react/src/views/lead-scoring-ai/BatchPredict.tsx","frontend-react/src/views/lead-scoring-ai/Index.tsx","frontend-react/src/views/lead-scoring-ai/LeadScoringAI.module.scss","frontend-react/src/views/lead-scoring-ai/ModelDetail.tsx","frontend-react/src/views/lead-scoring-ai/__tests__/lead-scoring-ai.test.tsx","frontend-react/src/views/lead-scoring/Form.tsx","frontend-react/src/views/lead-scoring/Index.tsx","frontend-react/src/views/lead-scoring/__tests__/lead-scoring.test.tsx","frontend-react/src/views/leads/Assignment.module.scss","frontend-react/src/views/leads/Assignment.tsx","frontend-react/src/views/leads/Detail.module.scss","frontend-react/src/views/leads/Detail.tsx","frontend-react/src/views/leads/Form.module.scss","frontend-react/src/views/leads/Form.tsx","frontend-react/src/views/leads/Index.module.scss","frontend-react/src/views/leads/Index.tsx","frontend-react/src/views/leads/__tests__/lead-convert-dialog.test.tsx","frontend-react/src/views/leads/__tests__/leads-assignment.test.tsx","frontend-react/src/views/leads/__tests__/leads-form.test.tsx","frontend-react/src/views/leads/__tests__/leads-index.test.tsx","frontend-react/src/views/leads/useLeadCenterContext.ts","frontend-react/src/views/livestream-analytics/Form.tsx","frontend-react/src/views/livestream-analytics/Index.tsx","frontend-react/src/views/livestream-analytics/LivestreamAnalytics.module.scss","frontend-react/src/views/livestream-analytics/__tests__/livestream-analytics-form.test.tsx","frontend-react/src/views/livestream-analytics/__tests__/livestream-analytics-index.test.tsx","frontend-react/src/views/livestream-analytics/livestreamAnalyticsMeta.ts","frontend-react/src/views/livestream-gifts/Form.tsx","frontend-react/src/views/livestream-gifts/Index.tsx","frontend-react/src/views/livestream-gifts/LivestreamGifts.module.scss","frontend-react/src/views/livestream-gifts/__tests__/livestream-gifts-form.test.tsx","frontend-react/src/views/livestream-gifts/__tests__/livestream-gifts-index.test.tsx","frontend-react/src/views/livestream-gifts/livestreamGiftsMeta.ts","frontend-react/src/views/livestream-groupbuy-conversion/Index.tsx","frontend-react/src/views/livestream-groupbuy-conversion/LivestreamGroupbuyConversion.module.scss","frontend-react/src/views/livestream-groupbuy-conversion/__tests__/livestream-groupbuy-conversion-index.test.tsx","frontend-react/src/views/livestream-interactions/Form.tsx","frontend-react/src/views/livestream-interactions/Index.tsx","frontend-react/src/views/livestream-interactions/LivestreamInteractions.module.scss","frontend-react/src/views/livestream-interactions/__tests__/livestream-interactions-form.test.tsx","frontend-react/src/views/livestream-interactions/__tests__/livestream-interactions-index.test.tsx","frontend-react/src/views/livestream-interactions/livestreamInteractionsMeta.ts","frontend-react/src/views/livestream-products/Form.tsx","frontend-react/src/views/livestream-products/Index.tsx","frontend-react/src/views/livestream-products/LivestreamProducts.module.scss","frontend-react/src/views/livestream-products/__tests__/livestream-products-form.test.tsx","frontend-react/src/views/livestream-products/__tests__/livestream-products-index.test.tsx","frontend-react/src/views/livestream-products/livestreamProductsMeta.ts","frontend-react/src/views/livestream-rooms/Detail.tsx","frontend-react/src/views/livestream-rooms/Form.tsx","frontend-react/src/views/livestream-rooms/Index.tsx","frontend-react/src/views/livestream-rooms/LivestreamRooms.module.scss","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-detail.test.tsx","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-form.test.tsx","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-index.test.tsx","frontend-react/src/views/livestream-rooms/livestreamRoomsMeta.ts","frontend-react/src/views/livestream-schedules/Form.tsx","frontend-react/src/views/livestream-schedules/Index.tsx","frontend-react/src/views/livestream-schedules/LivestreamSchedules.module.scss","frontend-react/src/views/livestream-schedules/__tests__/livestream-schedules-form.test.tsx","frontend-react/src/views/livestream-schedules/__tests__/livestream-schedules-index.test.tsx","frontend-react/src/views/livestream-schedules/livestreamSchedulesMeta.ts","frontend-react/src/views/livestream-scripts/Form.tsx","frontend-react/src/views/livestream-scripts/Index.tsx","frontend-react/src/views/livestream-scripts/LivestreamScripts.module.scss","frontend-react/src/views/livestream-scripts/__tests__/livestream-scripts-form.test.tsx","frontend-react/src/views/livestream-scripts/__tests__/livestream-scripts-index.test.tsx","frontend-react/src/views/livestream-scripts/livestreamScriptsMeta.ts","frontend-react/src/views/local-events/Form.module.scss","frontend-react/src/views/local-events/Form.tsx","frontend-react/src/views/local-events/Index.module.scss","frontend-react/src/views/local-events/Index.tsx","frontend-react/src/views/local-promotion/Form.module.scss","frontend-react/src/views/local-promotion/Form.tsx","frontend-react/src/views/local-promotion/Index.module.scss","frontend-react/src/views/local-promotion/Index.tsx","frontend-react/src/views/location-assessments/Detail.tsx","frontend-react/src/views/location-assessments/Form.tsx","frontend-react/src/views/location-assessments/Index.tsx","frontend-react/src/views/location-assessments/LocationAssessments.module.scss","frontend-react/src/views/location-assessments/Score.tsx","frontend-react/src/views/location-assessments/__tests__/location-assessments.test.tsx","frontend-react/src/views/location-assessments/locationAssessmentMeta.ts","frontend-react/src/views/login-logs/Index.tsx","frontend-react/src/views/login-logs/__tests__/login-logs-index.test.tsx","frontend-react/src/views/marketing-automation/Form.tsx","frontend-react/src/views/marketing-automation/Index.tsx","frontend-react/src/views/marketing-automation/MarketingAutomation.module.scss","frontend-react/src/views/marketing-automation/__tests__/marketing-automation.test.tsx","frontend-react/src/views/marketing-calendar/Index.module.scss","frontend-react/src/views/marketing-calendar/Index.tsx","frontend-react/src/views/marketing-calendar/__tests__/format-agenda-date.test.ts","frontend-react/src/views/marketing-calendar/__tests__/marketing-calendar-index.test.tsx","frontend-react/src/views/marketing-calendar/components/CalendarAgendaView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarAgendaView.tsx","frontend-react/src/views/marketing-calendar/components/CalendarMonthView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarMonthView.tsx","frontend-react/src/views/marketing-calendar/components/CalendarWeekView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarWeekView.tsx","frontend-react/src/views/marketing-calendar/components/EventDetailDrawer.module.scss","frontend-react/src/views/marketing-calendar/components/EventDetailDrawer.tsx","frontend-react/src/views/marketing-calendar/components/EventFormDialog.tsx","frontend-react/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend-react/src/views/marketing-chatbot/Index.tsx","frontend-react/src/views/marketing-chatbot/MarketingChatbot.module.scss","frontend-react/src/views/marketing-chatbot/__tests__/marketing-chatbot.test.tsx","frontend-react/src/views/marketing-content/ContentForm.module.scss","frontend-react/src/views/marketing-content/ContentForm.tsx","frontend-react/src/views/marketing-content/Index.module.scss","frontend-react/src/views/marketing-content/Index.tsx","frontend-react/src/views/marketing-content/__tests__/marketing-content-index.test.tsx","frontend-react/src/views/marketing-forms/Form.tsx","frontend-react/src/views/marketing-forms/Index.tsx","frontend-react/src/views/marketing-forms/MarketingForms.module.scss","frontend-react/src/views/marketing-forms/__tests__/marketing-forms.test.tsx","frontend-react/src/views/marketing-matrix/AccountForm.module.scss","frontend-react/src/views/marketing-matrix/AccountForm.tsx","frontend-react/src/views/marketing-matrix/Index.module.scss","frontend-react/src/views/marketing-matrix/Index.tsx","frontend-react/src/views/marketing-matrix/__tests__/marketing-matrix-index.test.tsx","frontend-react/src/views/marketing-north-star/Index.module.scss","frontend-react/src/views/marketing-north-star/Index.tsx","frontend-react/src/views/marketing-north-star/__tests__/marketing-north-star-index.test.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarAlerts.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarAlerts.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarDashboard.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarDashboard.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarMetricForm.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarMetricForm.tsx","frontend-react/src/views/marketing-timeslots/Index.module.scss","frontend-react/src/views/marketing-timeslots/Index.tsx","frontend-react/src/views/marketing-timeslots/__tests__/marketing-timeslots-index.test.tsx","frontend-react/src/views/marketing-tools/Detail.tsx","frontend-react/src/views/marketing-tools/Form.tsx","frontend-react/src/views/marketing-tools/Index.tsx","frontend-react/src/views/marketing-tools/MarketingTools.module.scss","frontend-react/src/views/marketing-tools/__tests__/marketing-tools.test.tsx","frontend-react/src/views/marketing-tools/marketingToolsMeta.ts","frontend-react/src/views/marketing/Index.module.scss","frontend-react/src/views/marketing/Index.tsx","frontend-react/src/views/marketing/__tests__/marketing-index.test.tsx","frontend-react/src/views/marketing/budget-alerts/Index.module.scss","frontend-react/src/views/marketing/budget-alerts/Index.tsx","frontend-react/src/views/marketing/budget-alerts/__tests__/budget-alerts-index.test.tsx","frontend-react/src/views/mdm/Index.module.scss","frontend-react/src/views/mdm/Index.tsx","frontend-react/src/views/mdm/__tests__/mdm-index.test.tsx","frontend-react/src/views/mdm/useMdmStore.ts","frontend-react/src/views/meddpicc-analyses/Index.module.scss","frontend-react/src/views/meddpicc-analyses/Index.tsx","frontend-react/src/views/meddpicc-analyses/__tests__/meddpicc-analyses-index.test.tsx","frontend-react/src/views/member-benefits/Form.tsx","frontend-react/src/views/member-benefits/Index.tsx","frontend-react/src/views/member-benefits/MemberBenefits.module.scss","frontend-react/src/views/member-benefits/__tests__/member-benefits-form.test.tsx","frontend-react/src/views/member-benefits/__tests__/member-benefits-index.test.tsx","frontend-react/src/views/member-benefits/memberBenefitsMeta.ts","frontend-react/src/views/member-levels/Form.tsx","frontend-react/src/views/member-levels/Index.tsx","frontend-react/src/views/member-levels/MemberLevels.module.scss","frontend-react/src/views/member-levels/__tests__/member-levels-form.test.tsx","frontend-react/src/views/member-levels/__tests__/member-levels-index.test.tsx","frontend-react/src/views/member-levels/memberLevelsMeta.ts","frontend-react/src/views/member-points/Index.module.scss","frontend-react/src/views/member-points/Index.tsx","frontend-react/src/views/members/Form.module.scss","frontend-react/src/views/members/Form.tsx","frontend-react/src/views/members/Index.module.scss","frontend-react/src/views/members/Index.tsx","frontend-react/src/views/members/__tests__/members-form.test.tsx","frontend-react/src/views/members/__tests__/members-index.test.tsx","frontend-react/src/views/menus/Index.tsx","frontend-react/src/views/menus/__tests__/menus-index.test.tsx","frontend-react/src/views/metric-tree/Index.module.scss","frontend-react/src/views/metric-tree/Index.tsx","frontend-react/src/views/metric-tree/__tests__/metric-tree-index.test.tsx","frontend-react/src/views/mobile-prototype/Index.module.scss","frontend-react/src/views/mobile-prototype/Index.test.tsx","frontend-react/src/views/mobile-prototype/Index.tsx","frontend-react/src/views/notification-configs/Form.module.scss","frontend-react/src/views/notification-configs/Form.tsx","frontend-react/src/views/notification-configs/Index.module.scss","frontend-react/src/views/notification-configs/Index.tsx","frontend-react/src/views/notification-configs/__tests__/notification-configs-form.test.tsx","frontend-react/src/views/notification-configs/__tests__/notification-configs-index.test.tsx","frontend-react/src/views/notification-configs/shared.ts","frontend-react/src/views/notifications/Index.module.scss","frontend-react/src/views/notifications/Index.tsx","frontend-react/src/views/notifications/__tests__/notifications-index.test.tsx","frontend-react/src/views/omnichannel-dashboard/Index.tsx","frontend-react/src/views/omnichannel-data-hub/Index.tsx","frontend-react/src/views/omnichannel-touchpoints/Index.tsx","frontend-react/src/views/operation-logs/Index.tsx","frontend-react/src/views/operation-logs/__tests__/operation-logs-index.test.tsx","frontend-react/src/views/opportunities/Detail.module.scss","frontend-react/src/views/opportunities/Detail.tsx","frontend-react/src/views/opportunities/Form.module.scss","frontend-react/src/views/opportunities/Form.tsx","frontend-react/src/views/opportunities/Index.module.scss","frontend-react/src/views/opportunities/Index.tsx","frontend-react/src/views/opportunities/Pipeline.module.scss","frontend-react/src/views/opportunities/Pipeline.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-detail.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-form.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-index.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-pipeline.test.tsx","frontend-react/src/views/opportunities/components/AICopilotSidebar.module.scss","frontend-react/src/views/opportunities/components/AICopilotSidebar.tsx","frontend-react/src/views/opportunities/components/DetailBasicInfo.module.scss","frontend-react/src/views/opportunities/components/DetailBasicInfo.tsx","frontend-react/src/views/opportunities/components/DetailCollaboration.module.scss","frontend-react/src/views/opportunities/components/DetailCollaboration.tsx","frontend-react/src/views/opportunities/components/DetailCompetitors.module.scss","frontend-react/src/views/opportunities/components/DetailCompetitors.tsx","frontend-react/src/views/opportunities/components/DetailDialogs.module.scss","frontend-react/src/views/opportunities/components/DetailDialogs.tsx","frontend-react/src/views/opportunities/components/DetailFollowups.module.scss","frontend-react/src/views/opportunities/components/DetailFollowups.tsx","frontend-react/src/views/opportunities/components/DetailHeader.module.scss","frontend-react/src/views/opportunities/components/DetailHeader.tsx","frontend-react/src/views/opportunities/components/DetailMeddpicc.module.scss","frontend-react/src/views/opportunities/components/DetailMeddpicc.tsx","frontend-react/src/views/opportunities/components/DetailProducts.module.scss","frontend-react/src/views/opportunities/components/DetailProducts.tsx","frontend-react/src/views/opportunities/components/DetailQuotes.module.scss","frontend-react/src/views/opportunities/components/DetailQuotes.tsx","frontend-react/src/views/opportunities/components/DetailSamples.module.scss","frontend-react/src/views/opportunities/components/DetailSamples.tsx","frontend-react/src/views/opportunities/components/DetailSidebar.module.scss","frontend-react/src/views/opportunities/components/DetailSidebar.tsx","frontend-react/src/views/opportunities/components/DetailStageProgress.module.scss","frontend-react/src/views/opportunities/components/DetailStageProgress.tsx","frontend-react/src/views/opportunities/components/DetailTeam.module.scss","frontend-react/src/views/opportunities/components/DetailTeam.tsx","frontend-react/src/views/opportunities/components/SalesCoachDialog.module.scss","frontend-react/src/views/opportunities/components/SalesCoachDialog.tsx","frontend-react/src/views/opportunities/components/useOpportunityDetail.ts","frontend-react/src/views/orders/Detail.tsx","frontend-react/src/views/orders/Form.tsx","frontend-react/src/views/orders/Index.module.scss","frontend-react/src/views/orders/Index.tsx","frontend-react/src/views/orders/__tests__/orders-detail.test.tsx","frontend-react/src/views/orders/__tests__/orders-form.test.tsx","frontend-react/src/views/orders/__tests__/orders-index.test.tsx","frontend-react/src/views/orders/components/DetailDesktop.module.scss","frontend-react/src/views/orders/components/DetailDesktop.tsx","frontend-react/src/views/orders/components/DetailMobile.module.scss","frontend-react/src/views/orders/components/DetailMobile.tsx","frontend-react/src/views/orders/components/FormDesktop.module.scss","frontend-react/src/views/orders/components/FormDesktop.tsx","frontend-react/src/views/orders/components/FormMobile.module.scss","frontend-react/src/views/orders/components/FormMobile.tsx","frontend-react/src/views/orders/hooks/useOrderDetail.ts","frontend-react/src/views/orders/hooks/useOrderForm.ts","frontend-react/src/views/orders/hooks/useOrderTimeline.ts","frontend-react/src/views/org-chart/Index.module.scss","frontend-react/src/views/org-chart/Index.tsx","frontend-react/src/views/org-chart/__tests__/org-chart-index.test.tsx","frontend-react/src/views/partner-customers/Detail.tsx","frontend-react/src/views/partner-customers/Form.tsx","frontend-react/src/views/partner-customers/Index.tsx","frontend-react/src/views/partner-customers/PartnerCustomers.module.scss","frontend-react/src/views/partner-customers/__tests__/partner-customers-detail.test.tsx","frontend-react/src/views/partner-customers/__tests__/partner-customers-form.test.tsx","frontend-react/src/views/partner-customers/__tests__/partner-customers-index.test.tsx","frontend-react/src/views/partner-customers/partnerCustomerMeta.ts","frontend-react/src/views/partners/Detail.tsx","frontend-react/src/views/partners/Form.tsx","frontend-react/src/views/partners/Index.tsx","frontend-react/src/views/partners/Partners.module.scss","frontend-react/src/views/partners/__tests__/partners-detail.test.tsx","frontend-react/src/views/partners/__tests__/partners-form.test.tsx","frontend-react/src/views/partners/__tests__/partners-index.test.tsx","frontend-react/src/views/partners/partnerMeta.ts","frontend-react/src/views/payment-analytics/Index.module.scss","frontend-react/src/views/payment-analytics/Index.tsx","frontend-react/src/views/payment-analytics/__tests__/payment-analytics-index.test.tsx","frontend-react/src/views/payment-plans/Index.module.scss","frontend-react/src/views/payment-plans/Index.tsx","frontend-react/src/views/payment-plans/__tests__/payment-plans-index.test.tsx","frontend-react/src/views/payments/Index.module.scss","frontend-react/src/views/payments/Index.tsx","frontend-react/src/views/payments/PlanForm.module.scss","frontend-react/src/views/payments/PlanForm.tsx","frontend-react/src/views/payments/Reconcile.module.scss","frontend-react/src/views/payments/Reconcile.tsx","frontend-react/src/views/payments/RecordForm.module.scss","frontend-react/src/views/payments/RecordForm.tsx","frontend-react/src/views/payments/__tests__/payments-index.test.tsx","frontend-react/src/views/payments/__tests__/payments-plan-form.test.tsx","frontend-react/src/views/payments/__tests__/payments-reconcile.test.tsx","frontend-react/src/views/payments/__tests__/payments-record-form.test.tsx","frontend-react/src/views/pm/Calendar.tsx","frontend-react/src/views/pm/Detail.tsx","frontend-react/src/views/pm/Form.tsx","frontend-react/src/views/pm/Index.tsx","frontend-react/src/views/pm/PM.module.scss","frontend-react/src/views/pm/__tests__/pm-calendar.test.tsx","frontend-react/src/views/pm/__tests__/pm-detail.test.tsx","frontend-react/src/views/pm/__tests__/pm-form.test.tsx","frontend-react/src/views/pm/__tests__/pm-index.test.tsx","frontend-react/src/views/pm/pmMeta.ts","frontend-react/src/views/positions/Detail.tsx","frontend-react/src/views/positions/Index.tsx","frontend-react/src/views/positions/PositionTree.module.scss","frontend-react/src/views/positions/PositionTree.tsx","frontend-react/src/views/positions/__tests__/position-tree.test.tsx","frontend-react/src/views/positions/__tests__/positions-index-detail.test.tsx","frontend-react/src/views/predictive-analytics/Detail.tsx","frontend-react/src/views/predictive-analytics/Form.tsx","frontend-react/src/views/predictive-analytics/Index.tsx","frontend-react/src/views/predictive-analytics/PredictiveAnalytics.module.scss","frontend-react/src/views/predictive-analytics/__tests__/predictive-analytics.test.tsx","frontend-react/src/views/predictive-analytics/constants.ts","frontend-react/src/views/price-books/Detail.module.scss","frontend-react/src/views/price-books/Detail.tsx","frontend-react/src/views/price-books/Form.module.scss","frontend-react/src/views/price-books/Form.tsx","frontend-react/src/views/price-books/Index.module.scss","frontend-react/src/views/price-books/Index.tsx","frontend-react/src/views/price-books/__tests__/price-books-basic.test.tsx","frontend-react/src/views/process-designer/Designer.module.scss","frontend-react/src/views/process-designer/Designer.tsx","frontend-react/src/views/process-designer/ProcessList.module.scss","frontend-react/src/views/process-designer/ProcessList.tsx","frontend-react/src/views/process-designer/__tests__/designer.test.tsx","frontend-react/src/views/process-designer/__tests__/process-list.test.tsx","frontend-react/src/views/process-designer/components/BpmnValidator.ts","frontend-react/src/views/process-designer/components/HistoryManager.ts","frontend-react/src/views/process-designer/components/PromptDialog.module.scss","frontend-react/src/views/process-designer/components/PromptDialog.tsx","frontend-react/src/views/process-designer/utils/bpmn-export.ts","frontend-react/src/views/product-analytics/Index.tsx","frontend-react/src/views/product-categories/Index.module.scss","frontend-react/src/views/product-categories/Index.tsx","frontend-react/src/views/product-categories/__tests__/product-categories-index.test.tsx","frontend-react/src/views/products/Categories.tsx","frontend-react/src/views/products/Detail.tsx","frontend-react/src/views/products/Form.tsx","frontend-react/src/views/products/Index.tsx","frontend-react/src/views/products/LowStockAlert.tsx","frontend-react/src/views/products/Products.module.scss","frontend-react/src/views/products/__tests__/product-categories.test.tsx","frontend-react/src/views/products/__tests__/products-form.test.tsx","frontend-react/src/views/products/__tests__/products-index.test.tsx","frontend-react/src/views/profile/Index.module.scss","frontend-react/src/views/profile/Index.tsx","frontend-react/src/views/profile/__tests__/profile-index.test.tsx","frontend-react/src/views/profile/components/NotificationSettings.module.scss","frontend-react/src/views/profile/components/NotificationSettings.tsx","frontend-react/src/views/profile/components/ProfileSettings.module.scss","frontend-react/src/views/profile/components/ProfileSettings.tsx","frontend-react/src/views/projects/Calendar.module.scss","frontend-react/src/views/projects/Calendar.tsx","frontend-react/src/views/projects/Detail.module.scss","frontend-react/src/views/projects/Detail.tsx","frontend-react/src/views/projects/Gantt.module.scss","frontend-react/src/views/projects/Gantt.tsx","frontend-react/src/views/projects/GlobalGantt.module.scss","frontend-react/src/views/projects/GlobalGantt.tsx","frontend-react/src/views/projects/Index.module.scss","frontend-react/src/views/projects/Index.tsx","frontend-react/src/views/projects/Milestones.module.scss","frontend-react/src/views/projects/Milestones.tsx","frontend-react/src/views/projects/Tasks.module.scss","frontend-react/src/views/projects/Tasks.tsx","frontend-react/src/views/projects/__tests__/dependency-dialog.test.tsx","frontend-react/src/views/projects/__tests__/gantt-data-transform.test.ts","frontend-react/src/views/projects/__tests__/gantt-dependency-line.test.ts","frontend-react/src/views/projects/__tests__/gantt-view-compute.test.ts","frontend-react/src/views/projects/__tests__/global-gantt.test.tsx","frontend-react/src/views/projects/__tests__/projects-calendar.test.tsx","frontend-react/src/views/projects/__tests__/projects-detail.test.tsx","frontend-react/src/views/projects/__tests__/projects-gantt.test.tsx","frontend-react/src/views/projects/__tests__/projects-index.test.tsx","frontend-react/src/views/projects/__tests__/projects-milestones.test.tsx","frontend-react/src/views/projects/__tests__/projects-tasks.test.tsx","frontend-react/src/views/projects/components/gantt/DependencyDialog.module.scss","frontend-react/src/views/projects/components/gantt/DependencyDialog.tsx","frontend-react/src/views/projects/components/gantt/ProjectGanttChart.module.scss","frontend-react/src/views/projects/components/gantt/ProjectGanttChart.tsx","frontend-react/src/views/projects/components/gantt/ProjectGanttToolbar.module.scss","frontend-react/src/views/projects/components/gantt/ProjectGanttToolbar.tsx","frontend-react/src/views/projects/components/gantt/hooks/useDependencyLine.ts","frontend-react/src/views/projects/components/gantt/hooks/useProjectGanttData.ts","frontend-react/src/views/projects/hooks/useGanttView.ts","frontend-react/src/views/public/PublicLanding.css","frontend-react/src/views/public/PublicLanding.tsx","frontend-react/src/views/public/__tests__/public-landing.test.tsx","frontend-react/src/views/purchase-orders/Detail.tsx","frontend-react/src/views/purchase-orders/Form.tsx","frontend-react/src/views/purchase-orders/Index.tsx","frontend-react/src/views/purchase-orders/PurchaseOrders.module.scss","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-detail.test.tsx","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-form.test.tsx","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-index.test.tsx","frontend-react/src/views/purchase-orders/purchaseOrderMeta.ts","frontend-react/src/views/qr-codes/Form.tsx","frontend-react/src/views/qr-codes/Index.tsx","frontend-react/src/views/qr-codes/QrCodes.module.scss","frontend-react/src/views/qr-codes/__tests__/qr-codes-form.test.tsx","frontend-react/src/views/qr-codes/__tests__/qr-codes-index.test.tsx","frontend-react/src/views/qr-codes/qrCodesMeta.ts","frontend-react/src/views/quotes/Approval.module.scss","frontend-react/src/views/quotes/Approval.tsx","frontend-react/src/views/quotes/Detail.module.scss","frontend-react/src/views/quotes/Detail.tsx","frontend-react/src/views/quotes/Editor.module.scss","frontend-react/src/views/quotes/Editor.tsx","frontend-react/src/views/quotes/Form.module.scss","frontend-react/src/views/quotes/Form.tsx","frontend-react/src/views/quotes/Index.module.scss","frontend-react/src/views/quotes/Index.tsx","frontend-react/src/views/quotes/__tests__/form-calculation.test.ts","frontend-react/src/views/quotes/__tests__/quotes-approval.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-detail.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-editor.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-form.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-index.test.tsx","frontend-react/src/views/quotes/components/QuotePromptDialog.module.scss","frontend-react/src/views/quotes/components/QuotePromptDialog.tsx","frontend-react/src/views/quotes/composables/usePromptDialog.ts","frontend-react/src/views/quotes/form-calculation.ts","frontend-react/src/views/realtime-trigger/Detail.tsx","frontend-react/src/views/realtime-trigger/Form.tsx","frontend-react/src/views/realtime-trigger/Index.tsx","frontend-react/src/views/realtime-trigger/RealtimeTrigger.module.scss","frontend-react/src/views/realtime-trigger/__tests__/realtime-trigger.test.tsx","frontend-react/src/views/realtime/Index.module.scss","frontend-react/src/views/realtime/Index.tsx","frontend-react/src/views/realtime/__tests__/realtime-index.test.tsx","frontend-react/src/views/reconciliation/Detail.module.scss","frontend-react/src/views/reconciliation/Detail.tsx","frontend-react/src/views/reconciliation/Form.module.scss","frontend-react/src/views/reconciliation/Form.tsx","frontend-react/src/views/reconciliation/Index.module.scss","frontend-react/src/views/reconciliation/Index.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-detail.test.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-form.test.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-index.test.tsx","frontend-react/src/views/reconciliation/components/ImportStatementDialog.module.scss","frontend-react/src/views/reconciliation/components/ImportStatementDialog.tsx","frontend-react/src/views/redemptions/Index.tsx","frontend-react/src/views/renewal-tasks/Detail.module.scss","frontend-react/src/views/renewal-tasks/Detail.tsx","frontend-react/src/views/renewal-tasks/Form.module.scss","frontend-react/src/views/renewal-tasks/Form.tsx","frontend-react/src/views/renewal-tasks/Index.module.scss","frontend-react/src/views/renewal-tasks/Index.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-detail.test.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-form.test.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-index.test.tsx","frontend-react/src/views/renewals/Detail.module.scss","frontend-react/src/views/renewals/Detail.tsx","frontend-react/src/views/renewals/Form.module.scss","frontend-react/src/views/renewals/Form.tsx","frontend-react/src/views/renewals/Index.module.scss","frontend-react/src/views/renewals/Index.tsx","frontend-react/src/views/renewals/__tests__/renewals-detail.test.tsx","frontend-react/src/views/renewals/__tests__/renewals-form.test.tsx","frontend-react/src/views/renewals/__tests__/renewals-index.test.tsx","frontend-react/src/views/reports/Detail.tsx","frontend-react/src/views/reports/Index.tsx","frontend-react/src/views/reports/Reports.module.scss","frontend-react/src/views/reports/Schedules.tsx","frontend-react/src/views/reports/Templates.tsx","frontend-react/src/views/reports/__tests__/reports.test.tsx","frontend-react/src/views/reports/reportMeta.ts","frontend-react/src/views/resource-requests/Detail.module.scss","frontend-react/src/views/resource-requests/Detail.tsx","frontend-react/src/views/resource-requests/Form.module.scss","frontend-react/src/views/resource-requests/Form.tsx","frontend-react/src/views/resource-requests/__tests__/resource-requests-index.test.tsx","frontend-react/src/views/resource-requests/components/PromptDialog.module.scss","frontend-react/src/views/resource-requests/components/PromptDialog.tsx","frontend-react/src/views/resource-requests/index.module.scss","frontend-react/src/views/resource-requests/index.tsx","frontend-react/src/views/rfm-analysis/Detail.tsx","frontend-react/src/views/rfm-analysis/Index.tsx","frontend-react/src/views/rfm-analysis/RfmAnalysis.module.scss","frontend-react/src/views/rfm-analysis/__tests__/rfm-analysis.test.tsx","frontend-react/src/views/rfm-analysis/rfmAnalysisMeta.ts","frontend-react/src/views/rma/Detail.module.scss","frontend-react/src/views/rma/Detail.tsx","frontend-react/src/views/rma/Form.module.scss","frontend-react/src/views/rma/Form.tsx","frontend-react/src/views/rma/Index.module.scss","frontend-react/src/views/rma/Index.tsx","frontend-react/src/views/rma/__tests__/rma-detail.test.tsx","frontend-react/src/views/rma/__tests__/rma-form.test.tsx","frontend-react/src/views/rma/__tests__/rma-index.test.tsx","frontend-react/src/views/roles/Index.module.scss","frontend-react/src/views/roles/Index.tsx","frontend-react/src/views/roles/__tests__/roles-index.test.tsx","frontend-react/src/views/roles/components/PermissionAssign.module.scss","frontend-react/src/views/roles/components/PermissionAssign.tsx","frontend-react/src/views/roles/components/RoleForm.tsx","frontend-react/src/views/roles/components/RoleUsers.module.scss","frontend-react/src/views/roles/components/RoleUsers.tsx","frontend-react/src/views/sales-dashboard/Index.module.scss","frontend-react/src/views/sales-dashboard/Index.tsx","frontend-react/src/views/sales-dashboard/__tests__/sales-dashboard-index.test.tsx","frontend-react/src/views/sales-funnel/Index.tsx","frontend-react/src/views/sample-requests/Detail.module.scss","frontend-react/src/views/sample-requests/Detail.tsx","frontend-react/src/views/sample-requests/Form.module.scss","frontend-react/src/views/sample-requests/Form.tsx","frontend-react/src/views/sample-requests/Index.module.scss","frontend-react/src/views/sample-requests/Index.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-detail.test.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-form.test.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-index.test.tsx","frontend-react/src/views/sample-requests/components/PromptDialog.module.scss","frontend-react/src/views/sample-requests/components/PromptDialog.tsx","frontend-react/src/views/satisfaction/Analytics.module.scss","frontend-react/src/views/satisfaction/Analytics.tsx","frontend-react/src/views/satisfaction/Detail.module.scss","frontend-react/src/views/satisfaction/Detail.tsx","frontend-react/src/views/satisfaction/Form.module.scss","frontend-react/src/views/satisfaction/Form.tsx","frontend-react/src/views/satisfaction/Index.module.scss","frontend-react/src/views/satisfaction/Index.tsx","frontend-react/src/views/satisfaction/Responses.module.scss","frontend-react/src/views/satisfaction/Responses.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-analytics.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-detail.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-form.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-index.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-responses.test.tsx","frontend-react/src/views/scheduled-jobs/Index.module.scss","frontend-react/src/views/scheduled-jobs/Index.tsx","frontend-react/src/views/scheduled-jobs/__tests__/scheduled-jobs-index.test.tsx","frontend-react/src/views/search/Index.module.scss","frontend-react/src/views/search/Index.tsx","frontend-react/src/views/search/__tests__/search-index.test.tsx","frontend-react/src/views/security-settings/Index.module.scss","frontend-react/src/views/security-settings/Index.tsx","frontend-react/src/views/security-settings/__tests__/security-settings-index.test.tsx","frontend-react/src/views/segments/Detail.module.scss","frontend-react/src/views/segments/Detail.tsx","frontend-react/src/views/segments/Form.module.scss","frontend-react/src/views/segments/Form.tsx","frontend-react/src/views/segments/Index.tsx","frontend-react/src/views/segments/__tests__/segments-detail.test.tsx","frontend-react/src/views/segments/__tests__/segments-form.test.tsx","frontend-react/src/views/self-operated-store/Index.module.scss","frontend-react/src/views/self-operated-store/Index.tsx","frontend-react/src/views/self-operated-store/__tests__/self-operated-store.test.tsx","frontend-react/src/views/self-operated-store/selfOperatedStoreMeta.ts","frontend-react/src/views/serial-numbers/Activate.tsx","frontend-react/src/views/serial-numbers/Detail.tsx","frontend-react/src/views/serial-numbers/Form.tsx","frontend-react/src/views/serial-numbers/Index.tsx","frontend-react/src/views/serial-numbers/SerialNumbers.module.scss","frontend-react/src/views/serial-numbers/__tests__/serial-numbers.test.tsx","frontend-react/src/views/serial-numbers/serialNumberMeta.ts","frontend-react/src/views/service-dashboard/Index.module.scss","frontend-react/src/views/service-dashboard/Index.tsx","frontend-react/src/views/service-dashboard/components/AlertsPanel.module.scss","frontend-react/src/views/service-dashboard/components/AlertsPanel.tsx","frontend-react/src/views/service-dashboard/components/EngineerRankingPanel.module.scss","frontend-react/src/views/service-dashboard/components/EngineerRankingPanel.tsx","frontend-react/src/views/service-dashboard/components/OverviewCards.module.scss","frontend-react/src/views/service-dashboard/components/OverviewCards.tsx","frontend-react/src/views/service-dashboard/components/SLAPanel.module.scss","frontend-react/src/views/service-dashboard/components/SLAPanel.tsx","frontend-react/src/views/service-dashboard/components/SatisfactionPanel.module.scss","frontend-react/src/views/service-dashboard/components/SatisfactionPanel.tsx","frontend-react/src/views/service-dashboard/components/TicketStatsPanel.module.scss","frontend-react/src/views/service-dashboard/components/TicketStatsPanel.tsx","frontend-react/src/views/service-dashboard/components/TrendsPanel.module.scss","frontend-react/src/views/service-dashboard/components/TrendsPanel.tsx","frontend-react/src/views/service-dashboard/components/WorkstationCalendarGantt.module.scss","frontend-react/src/views/service-dashboard/components/WorkstationCalendarGantt.tsx","frontend-react/src/views/service-dashboard/composables/useServiceDashboard.ts","frontend-react/src/views/service-monitor/Index.module.scss","frontend-react/src/views/service-monitor/Index.tsx","frontend-react/src/views/service-monitor/__tests__/service-monitor-index.test.tsx","frontend-react/src/views/service/TicketGantt.module.scss","frontend-react/src/views/service/TicketGantt.tsx","frontend-react/src/views/service/__tests__/ticket-gantt-chart.test.tsx","frontend-react/src/views/service/__tests__/ticket-gantt.test.tsx","frontend-react/src/views/service/components/TicketGanttChart.module.scss","frontend-react/src/views/service/components/TicketGanttChart.tsx","frontend-react/src/views/service/composables/useTicketGanttData.ts","frontend-react/src/views/settings/Index.module.scss","frontend-react/src/views/settings/Index.tsx","frontend-react/src/views/settings/IntegrationServices.module.scss","frontend-react/src/views/settings/IntegrationServices.tsx","frontend-react/src/views/settings/__tests__/integration-services.test.tsx","frontend-react/src/views/settings/__tests__/settings-index.test.tsx","frontend-react/src/views/settings/__tests__/system-settings.test.tsx","frontend-react/src/views/settings/components/CacheManagement.module.scss","frontend-react/src/views/settings/components/CacheManagement.tsx","frontend-react/src/views/settings/components/EventLogsPanel.module.scss","frontend-react/src/views/settings/components/EventLogsPanel.tsx","frontend-react/src/views/settings/components/MetricsPanel.module.scss","frontend-react/src/views/settings/components/MetricsPanel.tsx","frontend-react/src/views/settings/components/NotificationSettings.module.scss","frontend-react/src/views/settings/components/NotificationSettings.tsx","frontend-react/src/views/settings/components/ProfileSettings.module.scss","frontend-react/src/views/settings/components/ProfileSettings.tsx","frontend-react/src/views/settings/components/ScheduledJobsPanel.module.scss","frontend-react/src/views/settings/components/ScheduledJobsPanel.tsx","frontend-react/src/views/settings/components/ServiceStatusPanel.module.scss","frontend-react/src/views/settings/components/ServiceStatusPanel.tsx","frontend-react/src/views/settings/components/SystemSettings.module.scss","frontend-react/src/views/settings/components/SystemSettings.tsx","frontend-react/src/views/settings/components/integration/IntegrationAdPlatformsPanel.tsx","frontend-react/src/views/settings/components/integration/IntegrationAiConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationConfigShared.module.scss","frontend-react/src/views/settings/components/integration/IntegrationDingtalkConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationEmailConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationFeishuConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationGroupbuyPanel.tsx","frontend-react/src/views/settings/components/integration/IntegrationSmsConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWebhookConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWechatPublicConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWechatWorkConfig.tsx","frontend-react/src/views/settings/components/useSettings.ts","frontend-react/src/views/settings/composables/useIntegrationServices.ts","frontend-react/src/views/shipments/Detail.tsx","frontend-react/src/views/shipments/Form.tsx","frontend-react/src/views/shipments/Index.tsx","frontend-react/src/views/shipments/Shipments.module.scss","frontend-react/src/views/shipments/__tests__/shipments-detail.test.tsx","frontend-react/src/views/shipments/__tests__/shipments-form.test.tsx","frontend-react/src/views/shipments/__tests__/shipments-index.test.tsx","frontend-react/src/views/shipments/shipmentMeta.ts","frontend-react/src/views/sla/Dashboard.module.scss","frontend-react/src/views/sla/Dashboard.tsx","frontend-react/src/views/sla/Index.module.scss","frontend-react/src/views/sla/Index.tsx","frontend-react/src/views/sla/__tests__/sla-dashboard.test.tsx","frontend-react/src/views/sla/__tests__/sla-index.test.tsx","frontend-react/src/views/sla/components/SLADashboard.module.scss","frontend-react/src/views/sla/components/SLADashboard.tsx","frontend-react/src/views/sla/components/index.ts","frontend-react/src/views/sms-marketing/Index.tsx","frontend-react/src/views/sms-marketing/SmsMarketing.module.scss","frontend-react/src/views/sms-marketing/__tests__/sms-marketing.test.tsx","frontend-react/src/views/sms-marketing/smsMarketingMeta.ts","frontend-react/src/views/social-accounts/Form.tsx","frontend-react/src/views/social-accounts/Index.tsx","frontend-react/src/views/social-accounts/SocialAccounts.module.scss","frontend-react/src/views/social-accounts/__tests__/social-accounts-form.test.tsx","frontend-react/src/views/social-accounts/__tests__/social-accounts-index.test.tsx","frontend-react/src/views/social-accounts/socialAccountsMeta.ts","frontend-react/src/views/social-analytics/Index.tsx","frontend-react/src/views/social-analytics/SocialAnalytics.module.scss","frontend-react/src/views/social-analytics/__tests__/social-analytics-index.test.tsx","frontend-react/src/views/social-auto-replies/Form.tsx","frontend-react/src/views/social-auto-replies/Index.tsx","frontend-react/src/views/social-auto-replies/SocialAutoReplies.module.scss","frontend-react/src/views/social-auto-replies/__tests__/social-auto-replies-form.test.tsx","frontend-react/src/views/social-auto-replies/__tests__/social-auto-replies-index.test.tsx","frontend-react/src/views/social-auto-replies/socialAutoRepliesMeta.ts","frontend-react/src/views/social-competitors/Form.tsx","frontend-react/src/views/social-competitors/Index.tsx","frontend-react/src/views/social-competitors/SocialCompetitors.module.scss","frontend-react/src/views/social-competitors/__tests__/social-competitors-form.test.tsx","frontend-react/src/views/social-competitors/__tests__/social-competitors-index.test.tsx","frontend-react/src/views/social-competitors/socialCompetitorsMeta.ts","frontend-react/src/views/social-followers/Form.tsx","frontend-react/src/views/social-followers/Index.tsx","frontend-react/src/views/social-followers/SocialFollowers.module.scss","frontend-react/src/views/social-followers/__tests__/social-followers-form.test.tsx","frontend-react/src/views/social-followers/__tests__/social-followers-index.test.tsx","frontend-react/src/views/social-followers/socialFollowersMeta.ts","frontend-react/src/views/social-hot-topics/Form.tsx","frontend-react/src/views/social-hot-topics/Index.tsx","frontend-react/src/views/social-hot-topics/SocialHotTopics.module.scss","frontend-react/src/views/social-hot-topics/__tests__/social-hot-topics-form.test.tsx","frontend-react/src/views/social-hot-topics/__tests__/social-hot-topics-index.test.tsx","frontend-react/src/views/social-hot-topics/socialHotTopicsMeta.ts","frontend-react/src/views/social-interactions/Form.tsx","frontend-react/src/views/social-interactions/Index.tsx","frontend-react/src/views/social-interactions/SocialInteractions.module.scss","frontend-react/src/views/social-interactions/__tests__/social-interactions-form.test.tsx","frontend-react/src/views/social-interactions/__tests__/social-interactions-index.test.tsx","frontend-react/src/views/social-interactions/socialInteractionsMeta.ts","frontend-react/src/views/social-matrix/Form.module.scss","frontend-react/src/views/social-matrix/Form.tsx","frontend-react/src/views/social-matrix/Index.module.scss","frontend-react/src/views/social-matrix/Index.tsx","frontend-react/src/views/social-posts/Detail.tsx","frontend-react/src/views/social-posts/Form.tsx","frontend-react/src/views/social-posts/Index.tsx","frontend-react/src/views/social-posts/SocialPosts.module.scss","frontend-react/src/views/social-posts/__tests__/social-posts-detail.test.tsx","frontend-react/src/views/social-posts/__tests__/social-posts-form.test.tsx","frontend-react/src/views/social-posts/__tests__/social-posts-index.test.tsx","frontend-react/src/views/social-posts/socialPostMeta.ts","frontend-react/src/views/spare-parts/Detail.module.scss","frontend-react/src/views/spare-parts/Detail.tsx","frontend-react/src/views/spare-parts/Form.module.scss","frontend-react/src/views/spare-parts/Form.tsx","frontend-react/src/views/spare-parts/Index.module.scss","frontend-react/src/views/spare-parts/Index.tsx","frontend-react/src/views/spare-parts/__tests__/spare-parts-responsive.test.tsx","frontend-react/src/views/spare-parts/components/SparePartForm.tsx","frontend-react/src/views/spare-parts/components/StockOperationDialog.module.scss","frontend-react/src/views/spare-parts/components/StockOperationDialog.tsx","frontend-react/src/views/spare-parts/components/TransactionHistory.module.scss","frontend-react/src/views/spare-parts/components/TransactionHistory.tsx","frontend-react/src/views/stage-knowledge/Index.module.scss","frontend-react/src/views/stage-knowledge/Index.tsx","frontend-react/src/views/stage-knowledge/__tests__/stage-knowledge-index.test.tsx","frontend-react/src/views/store-agency/Index.module.scss","frontend-react/src/views/store-agency/Index.tsx","frontend-react/src/views/store-agency/__tests__/store-agency.test.tsx","frontend-react/src/views/store-agency/storeAgencyMeta.ts","frontend-react/src/views/store-configs/Form.tsx","frontend-react/src/views/store-configs/Index.tsx","frontend-react/src/views/store-configs/StoreConfigs.module.scss","frontend-react/src/views/store-configs/__tests__/store-configs.test.tsx","frontend-react/src/views/store-inventory/Index.tsx","frontend-react/src/views/store-ops/StoreOps.module.scss","frontend-react/src/views/store-ops/__tests__/store-ops.test.tsx","frontend-react/src/views/store-ops/storeOpsMeta.ts","frontend-react/src/views/store-performance/Index.module.scss","frontend-react/src/views/store-performance/Index.tsx","frontend-react/src/views/store-performance/__tests__/store-alert-actions.test.tsx","frontend-react/src/views/store-performance/__tests__/store-performance.test.tsx","frontend-react/src/views/store-settlements/Index.tsx","frontend-react/src/views/store-staff/Index.tsx","frontend-react/src/views/stores/Detail.tsx","frontend-react/src/views/stores/Form.tsx","frontend-react/src/views/stores/Index.tsx","frontend-react/src/views/stores/Stores.module.scss","frontend-react/src/views/stores/__tests__/stores.test.tsx","frontend-react/src/views/stores/storeMeta.ts","frontend-react/src/views/supplier-center/Index.module.scss","frontend-react/src/views/supplier-center/Index.tsx","frontend-react/src/views/supplier-management/Applications.tsx","frontend-react/src/views/supplier-management/Contracts.tsx","frontend-react/src/views/supplier-management/Index.tsx","frontend-react/src/views/supplier-management/JBPs.tsx","frontend-react/src/views/supplier-management/Rejections.tsx","frontend-react/src/views/supplier-management/ResourcePage.tsx","frontend-react/src/views/supplier-management/Risks.tsx","frontend-react/src/views/supplier-management/Scorecards.tsx","frontend-react/src/views/supplier-management/StoreSuppliers.tsx","frontend-react/src/views/supplier-management/SupplierManagement.module.scss","frontend-react/src/views/supplier-management/__tests__/supplier-applications.test.tsx","frontend-react/src/views/supplier-management/__tests__/supplier-management-index.test.tsx","frontend-react/src/views/supplier-management/config.tsx","frontend-react/src/views/supplier-payments/Index.module.scss","frontend-react/src/views/supplier-payments/Index.tsx","frontend-react/src/views/supplier-payments/__tests__/supplier-payments-index.test.tsx","frontend-react/src/views/suppliers/Detail.tsx","frontend-react/src/views/suppliers/Form.tsx","frontend-react/src/views/suppliers/Index.tsx","frontend-react/src/views/suppliers/Suppliers.module.scss","frontend-react/src/views/suppliers/__tests__/suppliers-detail.test.tsx","frontend-react/src/views/suppliers/__tests__/suppliers-form.test.tsx","frontend-react/src/views/suppliers/__tests__/suppliers-index.test.tsx","frontend-react/src/views/suppliers/supplierMeta.ts","frontend-react/src/views/supply-chain/SupplyChain.module.scss","frontend-react/src/views/supply-chain/Workbench.tsx","frontend-react/src/views/supply-chain/__tests__/supply-chain-workbench.test.tsx","frontend-react/src/views/swot-analyses/Index.tsx","frontend-react/src/views/system-events/Index.module.scss","frontend-react/src/views/system-events/Index.tsx","frontend-react/src/views/system-events/__tests__/system-events-index.test.tsx","frontend-react/src/views/system-import/Index.module.scss","frontend-react/src/views/system-import/Index.tsx","frontend-react/src/views/system-import/__tests__/system-import-index.test.tsx","frontend-react/src/views/system-monitor/Index.module.scss","frontend-react/src/views/system-monitor/Index.tsx","frontend-react/src/views/system-monitor/__tests__/system-monitor-index.test.tsx","frontend-react/src/views/system/AuditLogs.module.scss","frontend-react/src/views/system/AuditLogs.tsx","frontend-react/src/views/system/Permissions.module.scss","frontend-react/src/views/system/Permissions.tsx","frontend-react/src/views/system/__tests__/biz-sequences-form.test.tsx","frontend-react/src/views/system/__tests__/biz-sequences-index.test.tsx","frontend-react/src/views/system/__tests__/system-audit-logs.test.tsx","frontend-react/src/views/system/__tests__/system-params-index.test.tsx","frontend-react/src/views/system/__tests__/system-permissions.test.tsx","frontend-react/src/views/system/biz-sequences/Form.module.scss","frontend-react/src/views/system/biz-sequences/Form.tsx","frontend-react/src/views/system/biz-sequences/Index.module.scss","frontend-react/src/views/system/biz-sequences/Index.tsx","frontend-react/src/views/system/params/Index.module.scss","frontend-react/src/views/system/params/Index.tsx","frontend-react/src/views/system/tenant-configs/Index.module.scss","frontend-react/src/views/system/tenant-configs/Index.tsx","frontend-react/src/views/system/tenant-configs/__tests__/tenant-configs.test.tsx","frontend-react/src/views/targets/Breakdown.tsx","frontend-react/src/views/targets/Detail.tsx","frontend-react/src/views/targets/Form.tsx","frontend-react/src/views/targets/Index.tsx","frontend-react/src/views/targets/Targets.module.scss","frontend-react/src/views/targets/__tests__/targets.test.tsx","frontend-react/src/views/targets/targetsMeta.ts","frontend-react/src/views/ticket-workflows/Index.module.scss","frontend-react/src/views/ticket-workflows/Index.tsx","frontend-react/src/views/tickets/Detail.module.scss","frontend-react/src/views/tickets/Detail.tsx","frontend-react/src/views/tickets/Form.module.scss","frontend-react/src/views/tickets/Form.tsx","frontend-react/src/views/tickets/Gantt.module.scss","frontend-react/src/views/tickets/Gantt.tsx","frontend-react/src/views/tickets/Index.module.scss","frontend-react/src/views/tickets/Index.tsx","frontend-react/src/views/tickets/components/AICopilotSidebar.module.scss","frontend-react/src/views/tickets/components/AICopilotSidebar.tsx","frontend-react/src/views/tickets/components/CoachDialog.module.scss","frontend-react/src/views/tickets/components/CoachDialog.tsx","frontend-react/src/views/tickets/components/DetailDiagnosis.module.scss","frontend-react/src/views/tickets/components/DetailDiagnosis.tsx","frontend-react/src/views/tickets/components/DetailInfo.module.scss","frontend-react/src/views/tickets/components/DetailInfo.tsx","frontend-react/src/views/tickets/components/DetailMessages.module.scss","frontend-react/src/views/tickets/components/DetailMessages.tsx","frontend-react/src/views/tickets/components/DetailMobile.module.scss","frontend-react/src/views/tickets/components/DetailMobile.tsx","frontend-react/src/views/tickets/components/DetailSidebar.module.scss","frontend-react/src/views/tickets/components/DetailSidebar.tsx","frontend-react/src/views/tickets/components/DetailStageHistory.module.scss","frontend-react/src/views/tickets/components/DetailStageHistory.tsx","frontend-react/src/views/tickets/components/DetailTimeline.module.scss","frontend-react/src/views/tickets/components/DetailTimeline.tsx","frontend-react/src/views/tickets/components/SLAClock.module.scss","frontend-react/src/views/tickets/components/SLAClock.tsx","frontend-react/src/views/tickets/components/gantt/GanttToolbar.module.scss","frontend-react/src/views/tickets/components/gantt/GanttToolbar.tsx","frontend-react/src/views/tickets/components/gantt/TicketGanttChart.module.scss","frontend-react/src/views/tickets/components/gantt/TicketGanttChart.tsx","frontend-react/src/views/tickets/components/gantt/hooks/useGanttData.ts","frontend-react/src/views/tickets/composables/useTicketDetail.ts","frontend-react/src/views/tob-toc-gateway/Index.module.scss","frontend-react/src/views/tob-toc-gateway/Index.tsx","frontend-react/src/views/treasury/Accounts.tsx","frontend-react/src/views/treasury/CashForecast.tsx","frontend-react/src/views/treasury/DailySettlement.tsx","frontend-react/src/views/treasury/FundScheduling.tsx","frontend-react/src/views/treasury/Index.tsx","frontend-react/src/views/treasury/PaymentRequests.tsx","frontend-react/src/views/treasury/Treasury.module.scss","frontend-react/src/views/treasury/__tests__/treasury-pages.test.tsx","frontend-react/src/views/treasury/utils.ts","frontend-react/src/views/users/Index.module.scss","frontend-react/src/views/users/Index.tsx","frontend-react/src/views/users/__tests__/user-form.test.tsx","frontend-react/src/views/users/__tests__/users-index.test.tsx","frontend-react/src/views/users/components/ResponsiveFilterBar.module.scss","frontend-react/src/views/users/components/ResponsiveFilterBar.tsx","frontend-react/src/views/users/components/ResponsiveStats.module.scss","frontend-react/src/views/users/components/ResponsiveStats.tsx","frontend-react/src/views/users/components/RoleAssign.module.scss","frontend-react/src/views/users/components/RoleAssign.tsx","frontend-react/src/views/users/components/UserForm.tsx","frontend-react/src/views/utm-tracking/Form.tsx","frontend-react/src/views/utm-tracking/Index.tsx","frontend-react/src/views/utm-tracking/UtmTracking.module.scss","frontend-react/src/views/utm-tracking/__tests__/utm-tracking-form.test.tsx","frontend-react/src/views/utm-tracking/__tests__/utm-tracking-index.test.tsx","frontend-react/src/views/utm-tracking/utmTrackingMeta.ts","frontend-react/src/views/video-analytics/Index.tsx","frontend-react/src/views/video-analytics/VideoAnalytics.module.scss","frontend-react/src/views/video-analytics/__tests__/video-analytics-index.test.tsx","frontend-react/src/views/video-calls/Form.tsx","frontend-react/src/views/video-calls/Index.tsx","frontend-react/src/views/video-calls/VideoCalls.module.scss","frontend-react/src/views/video-calls/__tests__/video-calls-form.test.tsx","frontend-react/src/views/video-calls/__tests__/video-calls-index.test.tsx","frontend-react/src/views/video-calls/videoCallMeta.ts","frontend-react/src/views/video-content/Detail.tsx","frontend-react/src/views/video-content/Form.tsx","frontend-react/src/views/video-content/Index.tsx","frontend-react/src/views/video-content/VideoContent.module.scss","frontend-react/src/views/video-content/__tests__/video-content.test.tsx","frontend-react/src/views/video-publishing/Detail.tsx","frontend-react/src/views/video-publishing/Form.tsx","frontend-react/src/views/video-publishing/Index.tsx","frontend-react/src/views/video-publishing/VideoPublishing.module.scss","frontend-react/src/views/video-publishing/__tests__/video-publishing.test.tsx","frontend-react/src/views/web-tracking/Index.tsx","frontend-react/src/views/web-tracking/WebTracking.module.scss","frontend-react/src/views/web-tracking/__tests__/web-tracking.test.tsx","frontend-react/tsconfig.json","frontend-react/vite.config.ts","frontend-react/vitest.config.ts","reports/eios-react-import-2026-11-01.json","reports/react-mock-view-audit.latest.json","reports/react-page-click-interactions-audit.latest.json","reports/react-page-click-interactions-audit.latest.md","reports/react-signal-island-audit.latest.json","reports/react-test-data-governance.latest.json","reports/react-test-data-governance.latest.md","scripts/android/frontend-react-emulator.sh","scripts/android/frontend-react-gradle.sh","scripts/audit-react-documentation-truth.ts","scripts/audit-react-mock-views.ts","scripts/audit-react-page-click-interactions.ts","scripts/audit-react-signal-island.ts","scripts/audit-react-test-data-governance.ts","scripts/ios/frontend-react-cap.sh","scripts/lib/frontend-source-adapter.ts"],"removed":["e2e/scripts/generate-view-governance.mjs","e2e/scripts/verify-view-governance.mjs","frontend/.editorconfig","frontend/.env.development","frontend/.env.example","frontend/.env.production","frontend/.eslintrc.cjs","frontend/.gitignore","frontend/.prettierignore","frontend/.prettierrc","frontend/Dockerfile","frontend/Dockerfile.dev","frontend/Dockerfile.local","frontend/Dockerfile.prebuilt","frontend/QUICK_VERIFY.sh","frontend/e2e/PROCESS_DESIGNER_TEST_GUIDE.md","frontend/e2e/auth.spec.ts","frontend/e2e/business-critical-pages.smoke.spec.ts","frontend/e2e/fixtures/test-fixtures.ts","frontend/e2e/leads.spec.ts","frontend/e2e/opportunities.spec.ts","frontend/e2e/performance.spec.ts","frontend/e2e/process-designer.spec.ts","frontend/e2e/sales-workflow.spec.ts","frontend/e2e/service-workflow.spec.ts","frontend/e2e/tickets.spec.ts","frontend/fix_ts2307_vue.cjs","frontend/fix_unknown_types.cjs","frontend/fix_unknown_types.js","frontend/fix_vue_exports.cjs","frontend/fix_vue_exports.js","frontend/index.html","frontend/nginx.conf","frontend/package-lock.json","frontend/package.json","frontend/playwright.config.ts","frontend/public/favicon.svg","frontend/public/icons/.gitkeep","frontend/public/icons/icon-192.png","frontend/public/icons/icon-512.png","frontend/public/icons/icon-maskable-192.png","frontend/public/icons/icon-maskable-512.png","frontend/public/manifest.json","frontend/public/sw.js","frontend/remove_unused_ignore.cjs","frontend/remove_unused_ignore_all.cjs","frontend/scripts/check-array-guard.mjs","frontend/scripts/check-form-governance.mjs","frontend/scripts/validate-menu.ts","frontend/src/App.vue","frontend/src/api/adapters.ts","frontend/src/api/api-base-url.test.ts","frontend/src/api/api-base-url.ts","frontend/src/api/client.test.ts","frontend/src/api/client.ts","frontend/src/api/factory.ts","frontend/src/api/fetch-all-pages.ts","frontend/src/api/im-binding.ts","frontend/src/api/index.ts","frontend/src/api/modules/__root__.docs.ts","frontend/src/api/modules/__tests__/ad-reports.test.ts","frontend/src/api/modules/__tests__/ai-autopilot.test.ts","frontend/src/api/modules/__tests__/im-websocket.test.ts","frontend/src/api/modules/__tests__/lead-scoring-ai.test.ts","frontend/src/api/modules/__tests__/login-logs.test.ts","frontend/src/api/modules/__tests__/ticket-workflows.test.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-analytics.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-biddings.ts","frontend/src/api/modules/ad-campaigns.test.ts","frontend/src/api/modules/ad-campaigns.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-placements.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/agent-sessions.ts","frontend/src/api/modules/aging-analysis.ts","frontend/src/api/modules/ai-agent-core.ts","frontend/src/api/modules/ai-agent-im.ts","frontend/src/api/modules/ai-agent-skills.ts","frontend/src/api/modules/ai-agent-tasks.ts","frontend/src/api/modules/ai-agent-workflows.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/ai-agents.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-campaigns.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/alliance-settlements.ts","frontend/src/api/modules/analytics.test.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/ap-ledger.test.ts","frontend/src/api/modules/ap-ledger.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/assembly.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution-models.ts","frontend/src/api/modules/attribution-reports.ts","frontend/src/api/modules/attribution.test.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/backend-management.docs.ts","frontend/src/api/modules/backend-management.ts","frontend/src/api/modules/biz-sequences.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/campaign-analytics.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.test.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/capability-graph.ts","frontend/src/api/modules/cash-flow.test.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/certifications.ts","frontend/src/api/modules/channel-analytics.ts","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/chart-of-accounts.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-fission.ts","frontend/src/api/modules/community-gamification.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-materials.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-review.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/contracts.test.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cost-allocation.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/crm-activities.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-balance.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey-orchestration.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-lifecycle-value.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-profit.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/customers.test.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/departments.test.ts","frontend/src/api/modules/departments.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/diagnosis.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/disbursements.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense-claims.test.ts","frontend/src/api/modules/expense-claims.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/files.ts","frontend/src/api/modules/finance-os.ts","frontend/src/api/modules/finance-periods.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-analytics.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-keywords.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-commissions.ts","frontend/src/api/modules/groupbuy-influencers-api.ts","frontend/src/api/modules/groupbuy-influencers-types.ts","frontend/src/api/modules/groupbuy-influencers-utils.ts","frontend/src/api/modules/groupbuy-influencers.test.ts","frontend/src/api/modules/groupbuy-influencers.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-orders.ts","frontend/src/api/modules/groupbuy-participants.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/groupbuy-redemptions.ts","frontend/src/api/modules/groupbuy-reviews.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-attendance.test.ts","frontend/src/api/modules/hr-attendance.ts","frontend/src/api/modules/hr-benefits.test.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/hr-training-api.ts","frontend/src/api/modules/hr-training-types.ts","frontend/src/api/modules/hr-training.test.ts","frontend/src/api/modules/hr-training.ts","frontend/src/api/modules/hr.docs.ts","frontend/src/api/modules/hr.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im-conversations.ts","frontend/src/api/modules/im-messages.ts","frontend/src/api/modules/im-websocket.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/inventory-reservations.ts","frontend/src/api/modules/inventory.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/journal-entries.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-base.ts","frontend/src/api/modules/knowledge-candidates.test.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture-rules.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/knowledge-feedback.test.ts","frontend/src/api/modules/knowledge-feedback.ts","frontend/src/api/modules/knowledge.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/lead-qualification.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/lead-sla.ts","frontend/src/api/modules/leads.test.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/learning-paths.ts","frontend/src/api/modules/livestream-analytics.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-products.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream-scripts.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-attribution.docs.ts","frontend/src/api/modules/marketing-attribution.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-effectiveness.docs.ts","frontend/src/api/modules/marketing-effectiveness.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.test.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing-tools.docs.ts","frontend/src/api/modules/marketing-tools.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/mdm.ts","frontend/src/api/modules/meddpicc-analyses.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/notification-configs.ts","frontend/src/api/modules/notifications.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.test.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/orders.test.ts","frontend/src/api/modules/orders.ts","frontend/src/api/modules/org-chart.docs.ts","frontend/src/api/modules/org-chart.ts","frontend/src/api/modules/outbound.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/payment-analytics.ts","frontend/src/api/modules/payment-plans.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/performance-aggregates.ts","frontend/src/api/modules/pm.ts","frontend/src/api/modules/positions.docs.ts","frontend/src/api/modules/positions.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process-im.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/product-analytics.docs.ts","frontend/src/api/modules/product-analytics.ts","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/products.test.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/projects-api.ts","frontend/src/api/modules/projects-types.ts","frontend/src/api/modules/projects.ts","frontend/src/api/modules/purchase-orders.test.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/qr-codes.ts","frontend/src/api/modules/quotes.test.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/realtime.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/redemptions.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/renewals.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue-recognition.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/roles.test.ts","frontend/src/api/modules/roles.ts","frontend/src/api/modules/sales-coach.ts","frontend/src/api/modules/sales-dashboard.test.ts","frontend/src/api/modules/sales-dashboard.ts","frontend/src/api/modules/sample-requests.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/security-settings.docs.ts","frontend/src/api/modules/security-settings.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/self-operated-store.ts","frontend/src/api/modules/serial-numbers.ts","frontend/src/api/modules/service-dashboard.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/service.docs.ts","frontend/src/api/modules/service.ts","frontend/src/api/modules/settings.docs.ts","frontend/src/api/modules/settings.ts","frontend/src/api/modules/shipments.docs.ts","frontend/src/api/modules/shipments.ts","frontend/src/api/modules/sla.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-analytics.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-followers.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/social-matrix.ts","frontend/src/api/modules/social-posts.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/stage-knowledge-packs.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/store-agency.ts","frontend/src/api/modules/store-configs.ts","frontend/src/api/modules/store-dashboard.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/store-ops-compat.test.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/store-settlements.ts","frontend/src/api/modules/store-staff.ts","frontend/src/api/modules/stores.test.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/supplier-payments.test.ts","frontend/src/api/modules/supplier-payments.ts","frontend/src/api/modules/suppliers.test.ts","frontend/src/api/modules/suppliers.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/system-import.ts","frontend/src/api/modules/system-monitor.ts","frontend/src/api/modules/system-settings.ts","frontend/src/api/modules/system.docs.ts","frontend/src/api/modules/system.ts","frontend/src/api/modules/talent-review.ts","frontend/src/api/modules/targets.ts","frontend/src/api/modules/tenant-configs.ts","frontend/src/api/modules/tenant-settings.ts","frontend/src/api/modules/ticket-dependencies.ts","frontend/src/api/modules/ticket-gantt.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/treasury.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/users.test.ts","frontend/src/api/modules/users.ts","frontend/src/api/modules/utm-tracking.ts","frontend/src/api/modules/video-call.ts","frontend/src/api/modules/video-calls.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-designer.ts","frontend/src/api/response-normalizer.test.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/BatchActionBar.vue","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/ActivityCalendar.vue","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/ActivityTodayPanel.vue","frontend/src/components/business/BizCodeLink.vue","frontend/src/components/business/CoachDialog.vue","frontend/src/components/business/ContactPicker.vue","frontend/src/components/business/CustomerPicker.vue","frontend/src/components/business/EventKnowledgeInput.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/business/LeadConvertDialog.vue","frontend/src/components/business/MyProjectsWidget.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/components/business/ObjectionDetector.vue","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/components/business/SLAClock.vue","frontend/src/components/business/StageProgress.vue","frontend/src/components/business/UserPicker.vue","frontend/src/components/business/WorkstationCalendarGantt.vue","frontend/src/components/business/calendar/CalendarGanttView.vue","frontend/src/components/business/calendar/MarketingCalendar.vue","frontend/src/components/business/calendar/MarketingGantt.vue","frontend/src/components/business/calendar/index.ts","frontend/src/components/business/im-panel/ConversationItem.vue","frontend/src/components/business/index.ts","frontend/src/components/command-palette/CommandInput.vue","frontend/src/components/command-palette/CommandPalette.vue","frontend/src/components/command-palette/CommandResultItem.vue","frontend/src/components/command-palette/CommandResults.vue","frontend/src/components/command-palette/index.ts","frontend/src/components/command-palette/useCommandPalette.ts","frontend/src/components/common/DataTable.vue","frontend/src/components/common/EmptyState.vue","frontend/src/components/common/ErrorBoundary.vue","frontend/src/components/common/ExportButton.vue","frontend/src/components/common/FormDialog.vue","frontend/src/components/common/ImportDialog.vue","frontend/src/components/common/JHLogo.README.md","frontend/src/components/common/JHLogo.vue","frontend/src/components/common/LoadingFallback.vue","frontend/src/components/common/ModuleWorkbench.vue","frontend/src/components/common/PageHeader.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/common/SearchForm.vue","frontend/src/components/common/SkeletonLoader.vue","frontend/src/components/common/StatsCard.vue","frontend/src/components/common/StatusBadge.vue","frontend/src/components/common/__tests__/DataTable.test.ts","frontend/src/components/common/index.ts","frontend/src/components/im/VideoCall.vue","frontend/src/components/layout/AppLayout.vue","frontend/src/components/layout/Breadcrumb.vue","frontend/src/components/layout/Header.vue","frontend/src/components/layout/MobileBottomNav.vue","frontend/src/components/layout/MobileDrawer.vue","frontend/src/components/layout/MobileHeader.vue","frontend/src/components/layout/Sidebar.vue","frontend/src/components/layout/SidebarV2.vue","frontend/src/components/layout/index.ts","frontend/src/components/marketing/index.ts","frontend/src/components/mobile/FloatingActionButton.vue","frontend/src/components/mobile/MobileCard.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/mobile/MobileList.vue","frontend/src/components/mobile/MobileSearchBar.vue","frontend/src/components/mobile/OfflineBanner.vue","frontend/src/components/mobile/PWAInstallPrompt.vue","frontend/src/components/mobile/PullRefresh.vue","frontend/src/components/mobile/QuickActions.vue","frontend/src/components/mobile/SwipeAction.vue","frontend/src/components/mobile/index.ts","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/components/responsive/README.md","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/components/responsive/ResponsiveDetailLayout.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/components/responsive/ResponsiveGrid.vue","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/components/responsive/ResponsiveTabs.vue","frontend/src/components/responsive/__tests__/ResponsiveTabs.test.ts","frontend/src/components/responsive/index.ts","frontend/src/composables/__tests__/useDashboardRealtime.test.ts","frontend/src/composables/__tests__/useFormDraft.test.ts","frontend/src/composables/__tests__/useFormSubmit.test.ts","frontend/src/composables/__tests__/useListPage.test.ts","frontend/src/composables/__tests__/useNetworkStatus.test.ts","frontend/src/composables/__tests__/usePageAIAssist.test.ts","frontend/src/composables/__tests__/usePermission.test.ts","frontend/src/composables/__tests__/useResponsive.test.ts","frontend/src/composables/__tests__/useRouteLoading.test.ts","frontend/src/composables/__tests__/useTouch.test.ts","frontend/src/composables/index.ts","frontend/src/composables/useBatchActions.ts","frontend/src/composables/useCampaignWizard.ts","frontend/src/composables/useCellBuilder.ts","frontend/src/composables/useCrudFormMode.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/composables/useFormDraft.ts","frontend/src/composables/useFormSubmit.ts","frontend/src/composables/useGanttView.ts","frontend/src/composables/useLayout.ts","frontend/src/composables/useListPage.ts","frontend/src/composables/useMarketingCalendar.ts","frontend/src/composables/useMessageSearch.ts","frontend/src/composables/useNetworkStatus.ts","frontend/src/composables/usePageAIAssist.ts","frontend/src/composables/usePermission.ts","frontend/src/composables/useQuickCreateCampaign.ts","frontend/src/composables/useRealtimeEvents.ts","frontend/src/composables/useResponsive.ts","frontend/src/composables/useRouteLoading.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/composables/useSwipeBack.ts","frontend/src/composables/useTheme.ts","frontend/src/composables/useTouch.ts","frontend/src/composables/useVideoCall.ts","frontend/src/config/sentry.ts","frontend/src/constants/campaign-wizard.ts","frontend/src/constants/index.ts","frontend/src/directives/index.ts","frontend/src/directives/lazy-img.ts","frontend/src/directives/permission.ts","frontend/src/env.d.ts","frontend/src/i18n/index.ts","frontend/src/i18n/locales/en-SG.ts","frontend/src/i18n/locales/en-US.ts","frontend/src/i18n/locales/id-ID.ts","frontend/src/i18n/locales/zh-CN.ts","frontend/src/i18n/menu-map.ts","frontend/src/lib/crypto/index.ts","frontend/src/lib/crypto/key-exchange.ts","frontend/src/lib/crypto/key-manager.ts","frontend/src/lib/crypto/message-crypto.ts","frontend/src/lib/crypto/session-key.ts","frontend/src/lib/crypto/storage.ts","frontend/src/lib/webrtc/device-manager.ts","frontend/src/lib/webrtc/index.ts","frontend/src/lib/webrtc/mediasoup-client.ts","frontend/src/main.ts","frontend/src/router/__tests__/acquisition-menu-governance.test.ts","frontend/src/router/__tests__/admin-monitor-route-contract.test.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/router/__tests__/analytics-menu-canonical.test.ts","frontend/src/router/__tests__/content-social-menu-governance.test.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/router/__tests__/dashboard-menu-governance.test.ts","frontend/src/router/__tests__/finance-menu-governance.test.ts","frontend/src/router/__tests__/finance-os-governance-catalog.test.ts","frontend/src/router/__tests__/finance-os-governance-routes.test.ts","frontend/src/router/__tests__/growth-marketing-menu-governance.test.ts","frontend/src/router/__tests__/hr-center-menu.test.ts","frontend/src/router/__tests__/lead-center-routing.test.ts","frontend/src/router/__tests__/menu-compat-canonical.test.ts","frontend/src/router/__tests__/menu-icons.test.ts","frontend/src/router/__tests__/route-permission-compat.test.ts","frontend/src/router/__tests__/sales-menu-governance.test.ts","frontend/src/router/__tests__/service-menu-governance.test.ts","frontend/src/router/__tests__/stores-menu-governance.test.ts","frontend/src/router/__tests__/supply-chain-menu-governance.test.ts","frontend/src/router/__tests__/synergy-center-menu.test.ts","frontend/src/router/__tests__/system-infra-menu-governance.test.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/router/not-found-support.ts","frontend/src/router/route-paths.ts","frontend/src/router/types.ts","frontend/src/services/eventBus.ts","frontend/src/services/im.ts","frontend/src/services/sse.ts","frontend/src/stores/__tests__/ai-agent.store.test.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/ai-agent-helpers.ts","frontend/src/stores/ai-agent-task.test.ts","frontend/src/stores/ai-agent-task.ts","frontend/src/stores/ai-agent-workflow.test.ts","frontend/src/stores/ai-agent-workflow.ts","frontend/src/stores/ai-agent.ts","frontend/src/stores/app.ts","frontend/src/stores/auth.test.ts","frontend/src/stores/auth.ts","frontend/src/stores/context.ts","frontend/src/stores/customers.test.ts","frontend/src/stores/customers.ts","frontend/src/stores/im-connection.test.ts","frontend/src/stores/im-connection.ts","frontend/src/stores/im-conversation.test.ts","frontend/src/stores/im-conversation.ts","frontend/src/stores/im-message.test.ts","frontend/src/stores/im-message.ts","frontend/src/stores/im.ts","frontend/src/stores/index.ts","frontend/src/stores/layout.test.ts","frontend/src/stores/layout.ts","frontend/src/stores/leads.test.ts","frontend/src/stores/leads.ts","frontend/src/stores/mdm.ts","frontend/src/stores/menu-preferences.ts","frontend/src/stores/opportunities.test.ts","frontend/src/stores/opportunities.ts","frontend/src/stores/orders.test.ts","frontend/src/stores/orders.ts","frontend/src/stores/products.ts","frontend/src/stores/quotes.test.ts","frontend/src/stores/quotes.ts","frontend/src/stores/service-health.ts","frontend/src/stores/tickets.test.ts","frontend/src/stores/tickets.ts","frontend/src/styles/_containers.scss","frontend/src/styles/_dark-mode.scss","frontend/src/styles/_mobile-global.scss","frontend/src/styles/_variables.scss","frontend/src/styles/index.scss","frontend/src/styles/layers.css","frontend/src/styles/transitions.scss","frontend/src/test/setup.ts","frontend/src/types/ai-agent.ts","frontend/src/types/common.ts","frontend/src/types/enums.ts","frontend/src/types/fetch-event-source.d.ts","frontend/src/types/gantt.ts","frontend/src/types/im-binding.ts","frontend/src/types/index.ts","frontend/src/types/mdm.ts","frontend/src/types/models.ts","frontend/src/types/process.ts","frontend/src/types/project-gantt.ts","frontend/src/utils/array-guard.test.ts","frontend/src/utils/array-guard.ts","frontend/src/utils/case-converter.test.ts","frontend/src/utils/case-converter.ts","frontend/src/utils/color.ts","frontend/src/utils/date.test.ts","frontend/src/utils/date.ts","frontend/src/utils/debug-websocket.ts","frontend/src/utils/echarts.ts","frontend/src/utils/error.test.ts","frontend/src/utils/error.ts","frontend/src/utils/formatters.test.ts","frontend/src/utils/formatters.ts","frontend/src/utils/health-endpoints.test.ts","frontend/src/utils/health-endpoints.ts","frontend/src/utils/idempotency.test.ts","frontend/src/utils/idempotency.ts","frontend/src/utils/index.ts","frontend/src/utils/logger.test.ts","frontend/src/utils/logger.ts","frontend/src/utils/media-server-url.test.ts","frontend/src/utils/media-server-url.ts","frontend/src/utils/message-throttle.test.ts","frontend/src/utils/message-throttle.ts","frontend/src/utils/number.test.ts","frontend/src/utils/number.ts","frontend/src/utils/object-guard.test.ts","frontend/src/utils/object-guard.ts","frontend/src/utils/pdf.ts","frontend/src/utils/region-data.ts","frontend/src/utils/type-mappers.test.ts","frontend/src/utils/type-mappers.ts","frontend/src/utils/validators.test.ts","frontend/src/utils/validators.ts","frontend/src/views/Login.vue","frontend/src/views/NotFound.vue","frontend/src/views/__tests__/acquisition-center.smoke.test.ts","frontend/src/views/__tests__/admin-settings-g4.smoke.test.ts","frontend/src/views/__tests__/approvals-g4.smoke.test.ts","frontend/src/views/__tests__/audit-logs-g4.smoke.test.ts","frontend/src/views/__tests__/biz-sequences-g4.smoke.test.ts","frontend/src/views/__tests__/business-critical-pages.smoke.test.ts","frontend/src/views/__tests__/commissions-g4.smoke.test.ts","frontend/src/views/__tests__/core-business-chain.smoke.test.ts","frontend/src/views/__tests__/departments-g4.smoke.test.ts","frontend/src/views/__tests__/event-logs-g4.smoke.test.ts","frontend/src/views/__tests__/event-subscriptions-g4.smoke.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/groupbuy-orders-g4.smoke.test.ts","frontend/src/views/__tests__/growth-standard-crud-batch-a.smoke.test.ts","frontend/src/views/__tests__/growth-standard-crud-batch-b.smoke.test.ts","frontend/src/views/__tests__/hr-center-g4.smoke.test.ts","frontend/src/views/__tests__/im-g4.smoke.test.ts","frontend/src/views/__tests__/integration-services-g4.smoke.test.ts","frontend/src/views/__tests__/login-operation-logs-g4.smoke.test.ts","frontend/src/views/__tests__/notifications-g4.smoke.test.ts","frontend/src/views/__tests__/p2-view-maturity.smoke.test.ts","frontend/src/views/__tests__/process-designer-g4.smoke.test.ts","frontend/src/views/__tests__/resource-requests-g4.smoke.test.ts","frontend/src/views/__tests__/roles-g4.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts","frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/__tests__/service-monitor-g4.smoke.test.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/__tests__/store-ops-canonical.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/__tests__/synergy-knowledge-g4.smoke.test.ts","frontend/src/views/__tests__/tenant-configs-g4.smoke.test.ts","frontend/src/views/__tests__/users-g4.smoke.test.ts","frontend/src/views/__tests__/video-calls-g4.smoke.test.ts","frontend/src/views/__tests__/warehouse-supply-g4.smoke.test.ts","frontend/src/views/__tests__/wave2-crud-detail-readonly.smoke.test.ts","frontend/src/views/abm-marketing/Form.vue","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/abm-marketing/__tests__/abm-marketing.smoke.test.ts","frontend/src/views/acquisition/Index.test.ts","frontend/src/views/acquisition/Index.vue","frontend/src/views/acquisition/REFACTOR_SUMMARY.md","frontend/src/views/acquisition/components/CalendarSidebar.vue","frontend/src/views/acquisition/components/DateEventsList.vue","frontend/src/views/acquisition/components/EventDetailDrawer.vue","frontend/src/views/acquisition/components/MarketingCalendar.vue","frontend/src/views/acquisition/components/QuickCreateDialog.vue","frontend/src/views/acquisition/components/QuickCreateStepBasic.vue","frontend/src/views/acquisition/components/QuickCreateStepConfirm.vue","frontend/src/views/acquisition/components/QuickCreateStepTools.vue","frontend/src/views/acquisition/components/TodoList.vue","frontend/src/views/acquisition/components/TodoManagement.vue","frontend/src/views/acquisition/components/WorkstationHeader.vue","frontend/src/views/acquisition/composables/index.ts","frontend/src/views/acquisition/composables/types.ts","frontend/src/views/acquisition/composables/useCalendarCells.ts","frontend/src/views/acquisition/composables/useDragDropEnhanced.ts","frontend/src/views/acquisition/composables/useEventHelpers.ts","frontend/src/views/acquisition/composables/useTodos.ts","frontend/src/views/acquisition/composables/useVirtualCalendar.ts","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-accounts/__tests__/ad-accounts.smoke.test.ts","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-analytics/__tests__/ad-analytics.smoke.test.ts","frontend/src/views/ad-audiences/Form.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-audiences/__tests__/ad-audiences.smoke.test.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-biddings/__tests__/ad-biddings.smoke.test.ts","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-campaigns/__tests__/ad-campaigns-g4.smoke.test.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-creatives/__tests__/ad-creatives.smoke.test.ts","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePackForm.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/CampaignForm.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/ad-placements/Index.vue","frontend/src/views/ad-placements/__tests__/ad-placements-g4.smoke.test.ts","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/admin/Index.vue","frontend/src/views/admin/Workbench.vue","frontend/src/views/admin/__tests__/admin-center-g4.smoke.test.ts","frontend/src/views/admin/audit-logs/Index.vue","frontend/src/views/admin/audit-logs/__tests__/admin-audit-logs-g4.smoke.test.ts","frontend/src/views/aging-analysis/Index.vue","frontend/src/views/aging-analysis/__tests__/aging-analysis-g4.smoke.test.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/ai-agents/Create.vue","frontend/src/views/ai-agents/Detail.vue","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/ai-agents/Models.vue","frontend/src/views/ai-agents/Overview.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-agents/Tasks.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/ai-agents/__tests__/ai-agent-actions.integration.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-test-cases-governance.test.ts","frontend/src/views/ai-agents/__tests__/im-integration-settings.test.ts","frontend/src/views/ai-agents/autopilot/AITestCaseDetail.vue","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/autopilot/AITestRunDetail.vue","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/NaturalCommand.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/ai-agents/skill-library/Index.vue","frontend/src/views/ai-agents/tabs/ConversationsTab.vue","frontend/src/views/ai-agents/tabs/IMConfigTab.vue","frontend/src/views/ai-agents/tabs/KnowledgeTab.vue","frontend/src/views/ai-agents/tabs/MetricsTab.vue","frontend/src/views/ai-agents/tabs/ProfileTab.vue","frontend/src/views/ai-agents/tabs/SkillsTab.vue","frontend/src/views/ai-agents/tabs/TasksTab.vue","frontend/src/views/ai-agents/tabs/WorkflowTab.vue","frontend/src/views/ai-copilot/Index.vue","frontend/src/views/ai-copilot/__tests__/ai-copilot-g4.smoke.test.ts","frontend/src/views/ai-review-queue/Index.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-analytics/Form.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-analytics/__tests__/alliance-analytics-g4.smoke.test.ts","frontend/src/views/alliance-campaigns/Detail.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-campaigns/__tests__/alliance-campaigns.smoke.test.ts","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-coupons/__tests__/alliance-coupons.smoke.test.ts","frontend/src/views/alliance-merchants/Form.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-merchants/__tests__/alliance-merchants.smoke.test.ts","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-packages/__tests__/alliance-packages-g4.smoke.test.ts","frontend/src/views/alliance-partners/Detail.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-partners/__tests__/alliance-partners-g4.smoke.test.ts","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Form.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/alliance-settlements/Form.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/analytics/Index.vue","frontend/src/views/analytics/Queries.vue","frontend/src/views/analytics/__tests__/analytics-gov.smoke.test.ts","frontend/src/views/analytics/__tests__/analytics-structure-governance.test.ts","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/ap-ledger/__tests__/ap-ledger-index.smoke.test.ts","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/approval-templates/__tests__/approval-templates.smoke.test.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/ar-ledger/components/index.ts","frontend/src/views/assembly/AssemblyOrderForm.vue","frontend/src/views/assembly/AssemblyOrderList.vue","frontend/src/views/assembly/AssemblyReceiptForm.vue","frontend/src/views/assembly/AssemblyReceiptList.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/assembly/BomList.vue","frontend/src/views/assembly/MaterialIssueForm.vue","frontend/src/views/assembly/MaterialIssueList.vue","frontend/src/views/assembly/index.ts","frontend/src/views/assets/Activate.vue","frontend/src/views/assets/Detail.vue","frontend/src/views/assets/Form.vue","frontend/src/views/assets/Index.vue","frontend/src/views/assets/__tests__/asset-ops-gov.smoke.test.ts","frontend/src/views/assets/__tests__/assets-g4.smoke.test.ts","frontend/src/views/assets/__tests__/service-aux-gov.smoke.test.ts","frontend/src/views/attribution-models/Form.vue","frontend/src/views/attribution-models/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/auth/__tests__/auth.smoke.test.ts","frontend/src/views/backend-management/Index.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/biz-sequences/Index.vue","frontend/src/views/bom/Detail.vue","frontend/src/views/bom/Form.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-drafts/__tests__/campaign-drafts.smoke.test.ts","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-library/__tests__/campaign-library.smoke.test.ts","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-targets/__tests__/campaign-targets.smoke.test.ts","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaign-tools/__tests__/campaign-tools.smoke.test.ts","frontend/src/views/campaign-use-case-templates/Form.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/campaign-use-case-templates/__tests__/campaign-use-case-templates.smoke.test.ts","frontend/src/views/campaigns/Analytics.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Drafts.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/Tools.vue","frontend/src/views/campaigns/UseCaseTemplates.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/campaigns/components/CampaignDetail.vue","frontend/src/views/campaigns/components/CampaignForm.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step1BusinessLine.vue","frontend/src/views/campaigns/wizard/Step2UseCase.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/campaigns/wizard/Step5Audience.vue","frontend/src/views/campaigns/wizard/Step6Channels.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/__tests__/campaign-wizard.smoke.test.ts","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/campaigns/wizard/index.vue","frontend/src/views/cash-flow/Detail.vue","frontend/src/views/cash-flow/Form.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/cash-flow/__tests__/cash-flow-g4.smoke.test.ts","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/channel-integrations/Detail.vue","frontend/src/views/channel-integrations/Form.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/channel-integrations/__tests__/channel-integrations-g4.smoke.test.ts","frontend/src/views/channels/Detail.vue","frontend/src/views/channels/Form.vue","frontend/src/views/channels/Index.vue","frontend/src/views/channels/__tests__/channels-g4.smoke.test.ts","frontend/src/views/chart-of-accounts/Form.vue","frontend/src/views/chart-of-accounts/Index.vue","frontend/src/views/cohort-analysis/Detail.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/collaboration/Workbench.vue","frontend/src/views/commissions/Detail.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/commissions/Index.vue","frontend/src/views/commissions/__tests__/commissions-g4.smoke.test.ts","frontend/src/views/commissions/components/MyCommissionsTab.vue","frontend/src/views/commissions/components/RecordsTab.vue","frontend/src/views/commissions/components/RulesTab.vue","frontend/src/views/commissions/components/SettlementsTab.vue","frontend/src/views/community-activities/Form.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Form.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-bots/Form.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-bots/__tests__/community-bots-g4.smoke.test.ts","frontend/src/views/community-fission/Form.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-fission/__tests__/community-fission-g4.smoke.test.ts","frontend/src/views/community-gamification/Index.vue","frontend/src/views/community-gamification/__tests__/community-gamification-g4.smoke.test.ts","frontend/src/views/community-groups/Form.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Form.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-materials/Form.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-materials/__tests__/community-materials-g4.smoke.test.ts","frontend/src/views/community-members/Form.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Form.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Form.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/community-tasks/Form.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/community-tasks/__tests__/community-tasks-g4.smoke.test.ts","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/content-categories/Form.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Form.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Form.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Form.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-library/Form.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-library/__tests__/content-library-g4.smoke.test.ts","frontend/src/views/content-review/Form.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-social/Workbench.vue","frontend/src/views/content-templates/Form.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Detail.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contract-templates/__tests__/contract-templates.smoke.test.ts","frontend/src/views/contract-templates/components/TemplatePreview.vue","frontend/src/views/contract-templates/components/VariablePanel.vue","frontend/src/views/contracts/Detail.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/contracts/__tests__/contracts-g4.smoke.test.ts","frontend/src/views/contracts/__tests__/contracts-index.smoke.test.ts","frontend/src/views/contracts/components/DetailApprovalTab.vue","frontend/src/views/contracts/components/DetailAttachmentsTab.vue","frontend/src/views/contracts/components/DetailInfoTab.vue","frontend/src/views/contracts/components/DetailRelationsTab.vue","frontend/src/views/contracts/components/DetailSidebar.vue","frontend/src/views/contracts/components/DetailVersionsTab.vue","frontend/src/views/contracts/components/FormBasicSection.vue","frontend/src/views/contracts/components/FormSignatoriesSection.vue","frontend/src/views/contracts/components/FormSummarySection.vue","frontend/src/views/contracts/composables/useContractDetail.ts","frontend/src/views/contracts/composables/useContractForm.ts","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/cpq/components/BundlesTab.vue","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/cpq/components/RulesTab.vue","frontend/src/views/cpq/components/TemplatesTab.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/cross-domain-funnel/__tests__/cross-domain-funnel-g4.smoke.test.ts","frontend/src/views/customer-analytics/Index.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-balance/__tests__/customer-balance-g4.smoke.test.ts","frontend/src/views/customer-health/Detail.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-health/__tests__/customer-health.smoke.test.ts","frontend/src/views/customer-journey-orchestration/Detail.vue","frontend/src/views/customer-journey-orchestration/Index.vue","frontend/src/views/customer-journey-orchestration/__tests__/customer-journey-orchestration.smoke.test.ts","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-lifecycle-value/Index.vue","frontend/src/views/customer-lifecycle-value/__tests__/customer-lifecycle-value-g4.smoke.test.ts","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-marketing/components/CampaignForm.vue","frontend/src/views/customer-profit/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/DetailBasicInfo.vue","frontend/src/views/customers/components/DetailHealthScore.vue","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/customers/components/DetailMobile.vue","frontend/src/views/customers/components/DetailRecordTabs.vue","frontend/src/views/customers/components/FormBasicInfo.vue","frontend/src/views/customers/components/FormContacts.vue","frontend/src/views/customers/components/FormDuplicateDialog.vue","frontend/src/views/customers/components/FormServiceConfig.vue","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/customers/components/useCustomerForm.ts","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/dashboard/SimpleTest.vue","frontend/src/views/dashboard/__tests__/dashboard-shell-governance.test.ts","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/dashboard/components/SLAMetrics.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Form.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/devices/Form.vue","frontend/src/views/devices/Index.vue","frontend/src/views/devices/__tests__/devices.smoke.test.ts","frontend/src/views/diagnosis/Index.vue","frontend/src/views/diagnosis/__tests__/diagnosis-g4.smoke.test.ts","frontend/src/views/diagnosis/components/RecordDetail.vue","frontend/src/views/diagnosis/components/TemplateDetail.vue","frontend/src/views/diagnosis/components/TemplateForm.vue","frontend/src/views/dictionaries/Index.vue","frontend/src/views/dictionaries/__tests__/dictionaries-g4.smoke.test.ts","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/disbursements/Index.vue","frontend/src/views/disbursements/components/ApLedgerFormDialog.vue","frontend/src/views/disbursements/components/ApLedgerTab.vue","frontend/src/views/disbursements/components/ApproveDialog.vue","frontend/src/views/disbursements/components/CancelDialog.vue","frontend/src/views/disbursements/components/DisbursementDetailDialog.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/DisbursementsTab.vue","frontend/src/views/disbursements/components/ExecuteDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoriesTab.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimsTab.vue","frontend/src/views/disbursements/components/MyExpenseClaimsTab.vue","frontend/src/views/disbursements/components/PaymentDialog.input-range.test.ts","frontend/src/views/disbursements/components/PaymentDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-marketing/__tests__/email-marketing-g4.smoke.test.ts","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/email-templates/__tests__/email-templates.smoke.test.ts","frontend/src/views/event-logs/Index.vue","frontend/src/views/event-subscriptions/Index.vue","frontend/src/views/event-subscriptions/__tests__/event-subscriptions-g4.smoke.test.ts","frontend/src/views/event-subscriptions/components/SubscriptionForm.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/expense-claims/__tests__/expense-claims-index.smoke.test.ts","frontend/src/views/faults/Detail.vue","frontend/src/views/faults/Form.vue","frontend/src/views/faults/Index.vue","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/files/Index.vue","frontend/src/views/files/__tests__/files.smoke.test.ts","frontend/src/views/finance-os/__tests__/ai-autopilot-center.smoke.test.ts","frontend/src/views/finance-os/__tests__/ai-decision-pages-interactions.smoke.test.ts","frontend/src/views/finance-os/__tests__/cash-forecast-model-g4.smoke.test.ts","frontend/src/views/finance-os/__tests__/expense-auto-collection-real-pages.smoke.test.ts","frontend/src/views/finance-os/__tests__/finance-governance-shell.smoke.test.ts","frontend/src/views/finance-os/__tests__/pr3-cash-pages.smoke.test.ts","frontend/src/views/finance-os/__tests__/price-types.smoke.test.ts","frontend/src/views/finance-os/__tests__/profit-asset-engine.smoke.test.ts","frontend/src/views/finance-os/__tests__/recognition-rules.smoke.test.ts","frontend/src/views/finance-os/__tests__/risk-credit-cash.smoke.test.ts","frontend/src/views/finance-os/ai/AIAutopilotCenter.vue","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/RoiExpansionAdvisor.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/ExpenseCostEngine.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitAssetEngine.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/RiskCreditHub.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/finance-os/shared/FinanceGovernanceShell.vue","frontend/src/views/finance-periods/Index.vue","frontend/src/views/finance-periods/__tests__/finance-periods-g4.smoke.test.ts","frontend/src/views/finance/Index.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/financial-reports/__tests__/financial-reports-g4.smoke.test.ts","frontend/src/views/fulfillment/AcceptanceAudit.vue","frontend/src/views/fulfillment/Closures.vue","frontend/src/views/fulfillment/Detail.vue","frontend/src/views/fulfillment/Evaluations.vue","frontend/src/views/fulfillment/Exceptions.vue","frontend/src/views/fulfillment/Form.vue","frontend/src/views/fulfillment/Index.vue","frontend/src/views/fulfillment/PlanDetail.vue","frontend/src/views/fulfillment/Plans.vue","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/geo-analysis/Index.vue","frontend/src/views/geo-analytics/Index.vue","frontend/src/views/geo-fences/Form.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Form.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-analytics/Form.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-analytics/__tests__/groupbuy-analytics-g4.smoke.test.ts","frontend/src/views/groupbuy-campaigns/Form.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-commissions/Detail.vue","frontend/src/views/groupbuy-commissions/Index.vue","frontend/src/views/groupbuy-influencers/Form.vue","frontend/src/views/groupbuy-influencers/Index.vue","frontend/src/views/groupbuy-influencers/__tests__/groupbuy-influencers-g4.smoke.test.ts","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-inventory/__tests__/groupbuy-inventory-g4.smoke.test.ts","frontend/src/views/groupbuy-orders/Detail.vue","frontend/src/views/groupbuy-orders/Form.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-orders/__tests__/groupbuy-orders-g4.smoke.test.ts","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-participants/__tests__/groupbuy-participants-g4.smoke.test.ts","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Form.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-pricing/__tests__/groupbuy-pricing.smoke.test.ts","frontend/src/views/groupbuy-products/Detail.vue","frontend/src/views/groupbuy-products/Form.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Form.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-redemptions/Detail.vue","frontend/src/views/groupbuy-redemptions/Index.vue","frontend/src/views/groupbuy-redemptions/VoucherDetail.vue","frontend/src/views/groupbuy-reviews/Detail.vue","frontend/src/views/groupbuy-reviews/Index.vue","frontend/src/views/groupbuy-settlements/Detail.vue","frontend/src/views/groupbuy-settlements/Form.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/Index.vue","frontend/src/views/hr/Workbench.vue","frontend/src/views/hr/__tests__/attendance-payroll-g4.smoke.test.ts","frontend/src/views/hr/__tests__/hr-tabs-query-sync.test.ts","frontend/src/views/hr/__tests__/training-regressions.smoke.test.ts","frontend/src/views/hr/attendance/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/SchedulesTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/benefits/Index.vue","frontend/src/views/hr/benefits/components/ClaimsTab.vue","frontend/src/views/hr/benefits/components/EnrollmentsTab.vue","frontend/src/views/hr/benefits/components/PlansTab.vue","frontend/src/views/hr/payroll/Index.vue","frontend/src/views/hr/payroll/components/GradesTab.vue","frontend/src/views/hr/payroll/components/ItemsTab.vue","frontend/src/views/hr/payroll/components/MyPayslipsTab.vue","frontend/src/views/hr/payroll/components/PeriodsTab.vue","frontend/src/views/hr/payroll/components/StructuresTab.vue","frontend/src/views/hr/shared/pagination.ts","frontend/src/views/hr/training/Index.vue","frontend/src/views/hr/training/components/CapabilityRadarTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CertificationCatalogTab.vue","frontend/src/views/hr/training/components/CoachPracticeTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CourseMarketplaceTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/EffectDashboardTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/LearningPathTab.vue","frontend/src/views/hr/training/components/LearningTab.vue","frontend/src/views/hr/training/components/NineBoxTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/RoiDashboardTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/im-channels/__tests__/im-channels-g4.smoke.test.ts","frontend/src/views/im/ChannelDetail.vue","frontend/src/views/im/ChannelList.vue","frontend/src/views/im/Index.vue","frontend/src/views/im/VideoCallList.vue","frontend/src/views/im/VideoCallRoom.vue","frontend/src/views/im/__tests__/channel-list.smoke.test.ts","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/integration-services/Index.vue","frontend/src/views/integration-services/__tests__/integration-services-index.smoke.test.ts","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/inventory/CountDetail.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Reservations.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/journal-entries/Detail.vue","frontend/src/views/journal-entries/Form.vue","frontend/src/views/journal-entries/Index.vue","frontend/src/views/journal-entries/__tests__/journal-entries-g4.smoke.test.ts","frontend/src/views/journey-orchestration/Detail.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue","frontend/src/views/knowledge-base/__tests__/knowledge-base.smoke.test.ts","frontend/src/views/knowledge-candidates/Detail.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Detail.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/knowledge-feedback/__tests__/knowledge-feedback-index.smoke.test.ts","frontend/src/views/knowledge/Detail.vue","frontend/src/views/knowledge/Feedback.vue","frontend/src/views/knowledge/Form.vue","frontend/src/views/knowledge/Index.vue","frontend/src/views/knowledge/__tests__/knowledge-g4.smoke.test.ts","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/knowledge/components/KnowledgeHeatmap.vue","frontend/src/views/knowledge/components/KnowledgeROI.vue","frontend/src/views/knowledge/components/KnowledgeVersions.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-assignment/__tests__/lead-assignment-detail.smoke.test.ts","frontend/src/views/lead-assignment/__tests__/lead-assignment-g4.smoke.test.ts","frontend/src/views/lead-assignment/__tests__/lead-assignment.smoke.test.ts","frontend/src/views/lead-import/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Detail.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/lead-qualification/__tests__/lead-qualification-index.smoke.test.ts","frontend/src/views/lead-scoring-ai/BatchPredict.vue","frontend/src/views/lead-scoring-ai/Index.vue","frontend/src/views/lead-scoring-ai/ModelDetail.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/lead-scoring/__tests__/lead-scoring-g4.smoke.test.ts","frontend/src/views/lead-scoring/__tests__/lead-scoring.smoke.test.ts","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/leads/__tests__/leads-index.smoke.test.ts","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/livestream-analytics/Form.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-gifts/Form.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-interactions/Form.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Form.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Detail.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Form.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Form.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/RoomForm.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/livestream/Sessions.vue","frontend/src/views/local-events/Form.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-events/__tests__/local-events.smoke.test.ts","frontend/src/views/local-promotion/Form.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/local-promotion/__tests__/local-promotion.smoke.test.ts","frontend/src/views/location-assessments/Detail.vue","frontend/src/views/location-assessments/Form.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/location-assessments/Score.vue","frontend/src/views/login-logs/Index.vue","frontend/src/views/maintenance/Calendar.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/PlanDetail.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/maintenance/__tests__/maintenance-g4.smoke.test.ts","frontend/src/views/marketing-attribution/Index.vue","frontend/src/views/marketing-attribution/__tests__/marketing-attribution.smoke.test.ts","frontend/src/views/marketing-automation/Form.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-chatbot/Index.vue","frontend/src/views/marketing-chatbot/components/AnalyticsPanel.vue","frontend/src/views/marketing-chatbot/components/BotDialogs.vue","frontend/src/views/marketing-chatbot/components/BotTable.vue","frontend/src/views/marketing-chatbot/components/ConversationTable.vue","frontend/src/views/marketing-chatbot/components/IntentTable.vue","frontend/src/views/marketing-chatbot/components/KnowledgeTable.vue","frontend/src/views/marketing-chatbot/components/StatsCards.vue","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/marketing-chatbot/composables/useChatbotLabels.ts","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-content/__tests__/marketing-content-g4.smoke.test.ts","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Form.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/AccountForm.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/marketing-timeslots/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing-workflows/Form.vue","frontend/src/views/marketing-workflows/Index.vue","frontend/src/views/marketing/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/meddpicc-analyses/Index.vue","frontend/src/views/meddpicc-analyses/__tests__/meddpicc-analyses-index.smoke.test.ts","frontend/src/views/member-benefits/Form.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-benefits/__tests__/member-benefits.smoke.test.ts","frontend/src/views/member-levels/Form.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-levels/__tests__/member-levels.smoke.test.ts","frontend/src/views/member-points/Index.vue","frontend/src/views/member-points/__tests__/member-points.smoke.test.ts","frontend/src/views/members/Form.vue","frontend/src/views/members/Index.vue","frontend/src/views/members/__tests__/members.smoke.test.ts","frontend/src/views/menus/Index.vue","frontend/src/views/menus/__tests__/menus-g4.smoke.test.ts","frontend/src/views/metric-tree/Index.vue","frontend/src/views/multi-touch-attribution/Index.vue","frontend/src/views/multi-touch-attribution/__tests__/multi-touch-attribution.smoke.test.ts","frontend/src/views/notification-configs/Form.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/omnichannel-touchpoints/Index.vue","frontend/src/views/operation-logs/Index.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/opportunities/Index.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/opportunities/__tests__/opportunities-g4.smoke.test.ts","frontend/src/views/opportunities/components/DetailBasicInfo.vue","frontend/src/views/opportunities/components/DetailCollaboration.vue","frontend/src/views/opportunities/components/DetailCompetitors.vue","frontend/src/views/opportunities/components/DetailDialogs.vue","frontend/src/views/opportunities/components/DetailFollowups.vue","frontend/src/views/opportunities/components/DetailHeader.vue","frontend/src/views/opportunities/components/DetailMeddpicc.vue","frontend/src/views/opportunities/components/DetailProducts.vue","frontend/src/views/opportunities/components/DetailQuotes.vue","frontend/src/views/opportunities/components/DetailSamples.vue","frontend/src/views/opportunities/components/DetailSidebar.vue","frontend/src/views/opportunities/components/DetailStageProgress.vue","frontend/src/views/opportunities/components/DetailTeam.vue","frontend/src/views/opportunities/components/SalesCoachDialog.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/Detail.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/orders/__tests__/orders-g4.smoke.test.ts","frontend/src/views/orders/components/DetailDesktop.vue","frontend/src/views/orders/components/DetailMobile.vue","frontend/src/views/orders/components/FormDesktop.vue","frontend/src/views/orders/components/FormMobile.vue","frontend/src/views/orders/composables/useOrderDetail.ts","frontend/src/views/orders/composables/useOrderForm.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/org-chart/Index.vue","frontend/src/views/org-chart/__tests__/org-chart-g4.smoke.test.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partner-customers/Detail.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/partner-customers/__tests__/partner-customers-g4.smoke.test.ts","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/partners/Index.vue","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/payment-analytics/AgingChart.vue","frontend/src/views/payment-analytics/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/pm/Calendar.vue","frontend/src/views/pm/Detail.vue","frontend/src/views/pm/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/pm/__tests__/pm-g4.smoke.test.ts","frontend/src/views/positions/Detail.vue","frontend/src/views/positions/Index.vue","frontend/src/views/positions/PositionTree.vue","frontend/src/views/positions/__tests__/positions-g4.smoke.test.ts","frontend/src/views/predictive-analytics/Detail.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/price-books/__tests__/price-books-gov.smoke.test.ts","frontend/src/views/process-designer/Designer.vue","frontend/src/views/process-designer/ProcessList.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/process-designer/components/BpmnValidator.ts","frontend/src/views/process-designer/components/HistoryManager.ts","frontend/src/views/process-designer/utils/bpmn-export.ts","frontend/src/views/product-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/products/Categories.vue","frontend/src/views/products/Detail.vue","frontend/src/views/products/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/products/LowStockAlert.vue","frontend/src/views/products/__tests__/products-g4.smoke.test.ts","frontend/src/views/profile/Index.vue","frontend/src/views/profile/__tests__/profile-g4.smoke.test.ts","frontend/src/views/projects/Calendar.vue","frontend/src/views/projects/Detail.vue","frontend/src/views/projects/Gantt.vue","frontend/src/views/projects/GlobalGantt.vue","frontend/src/views/projects/Index.vue","frontend/src/views/projects/Milestones.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/DependencyDialog.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/projects/components/gantt/composables/useDependencyLine.ts","frontend/src/views/projects/components/gantt/composables/useProjectGanttData.ts","frontend/src/views/public/PublicLanding.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/purchase-orders/__tests__/purchase-orders-g4.smoke.test.ts","frontend/src/views/qr-codes/Form.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/qr-codes/__tests__/qr-codes.smoke.test.ts","frontend/src/views/quotes/Approval.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/quotes/__tests__/form-calculation.test.ts","frontend/src/views/quotes/__tests__/quotes-index.smoke.test.ts","frontend/src/views/quotes/form-calculation.ts","frontend/src/views/realtime-trigger/Detail.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/realtime/Index.vue","frontend/src/views/reconciliation/Detail.vue","frontend/src/views/reconciliation/Form.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/renewal-tasks/Detail.vue","frontend/src/views/renewal-tasks/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/renewals/__tests__/renewals-g4.smoke.test.ts","frontend/src/views/reports/Detail.vue","frontend/src/views/reports/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/reports/Templates.vue","frontend/src/views/resource-requests/Detail.vue","frontend/src/views/resource-requests/Form.vue","frontend/src/views/resource-requests/index.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/rma/Detail.vue","frontend/src/views/rma/Form.vue","frontend/src/views/rma/Index.vue","frontend/src/views/rma/__tests__/rma-form.smoke.test.ts","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/PermissionAssign.vue","frontend/src/views/roles/components/RoleForm.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/sales-dashboard/Index.vue","frontend/src/views/sales-funnel/Index.vue","frontend/src/views/sample-requests/Detail.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/sample-requests/Index.vue","frontend/src/views/satisfaction/Analytics.vue","frontend/src/views/satisfaction/Detail.vue","frontend/src/views/satisfaction/Form.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/satisfaction/Responses.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/scheduled-jobs/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/search/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/segments/Detail.vue","frontend/src/views/segments/Form.vue","frontend/src/views/segments/Index.vue","frontend/src/views/self-operated-store/Index.vue","frontend/src/views/serial-numbers/Activate.vue","frontend/src/views/serial-numbers/Detail.vue","frontend/src/views/serial-numbers/Form.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/Index.vue","frontend/src/views/service-dashboard/components/AlertsPanel.vue","frontend/src/views/service-dashboard/components/EngineerRankingPanel.vue","frontend/src/views/service-dashboard/components/OverviewCards.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/service-dashboard/composables/useServiceDashboard.ts","frontend/src/views/service-monitor/Index.vue","frontend/src/views/service-monitor/__tests__/service-monitor-g4.smoke.test.ts","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/service/composables/useTicketGanttData.ts","frontend/src/views/settings/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/settings/__tests__/integration-services.smoke.test.ts","frontend/src/views/settings/components/AdPlatformsPanel.vue","frontend/src/views/settings/components/CacheManagement.vue","frontend/src/views/settings/components/EmailConfigPanel.vue","frontend/src/views/settings/components/EventLogsPanel.vue","frontend/src/views/settings/components/GroupbuyPanel.vue","frontend/src/views/settings/components/MetricsPanel.vue","frontend/src/views/settings/components/NotificationSettings.vue","frontend/src/views/settings/components/ProfileSettings.vue","frontend/src/views/settings/components/ScheduledJobsPanel.vue","frontend/src/views/settings/components/ServiceStatusPanel.vue","frontend/src/views/settings/components/SmsConfigPanel.vue","frontend/src/views/settings/components/SystemSettings.vue","frontend/src/views/settings/components/TestResultBlock.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","frontend/src/views/settings/components/useSettings.ts","frontend/src/views/settings/composables/useIntegrationServices.ts","frontend/src/views/shipments/Detail.vue","frontend/src/views/shipments/Form.vue","frontend/src/views/shipments/Index.vue","frontend/src/views/shipments/__tests__/shipments-g4.smoke.test.ts","frontend/src/views/sla/Dashboard.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/sla/components/index.ts","frontend/src/views/sms-marketing/Index.vue","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","frontend/src/views/sms-marketing/composables/useSmsLabels.ts","frontend/src/views/social-accounts/Form.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-analytics/Index.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","frontend/src/views/social-auto-replies/Form.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Form.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Form.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-followers/__tests__/social-followers-g4.smoke.test.ts","frontend/src/views/social-hot-topics/Form.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Form.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-interactions/__tests__/social-interactions-g4.smoke.test.ts","frontend/src/views/social-matrix/Form.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/social-posts/__tests__/social-posts-g4.smoke.test.ts","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/spare-parts/Form.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/SparePartForm.vue","frontend/src/views/spare-parts/components/StockOperationDialog.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","frontend/src/views/store-agency/Index.vue","frontend/src/views/store-configs/Form.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Form.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/Index.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/supplier-management/Scorecards.vue","frontend/src/views/supplier-management/StoreSuppliers.vue","frontend/src/views/supplier-management/__tests__/store-suppliers.smoke.test.ts","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/supplier-payments/__tests__/supplier-payments-index.smoke.test.ts","frontend/src/views/suppliers/Detail.vue","frontend/src/views/suppliers/Form.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/supply-chain/Detail.vue","frontend/src/views/supply-chain/Form.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/supply-chain/Workbench.vue","frontend/src/views/swot-analyses/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-import/Index.vue","frontend/src/views/system-import/__tests__/system-import-g4.smoke.test.ts","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system-monitor/__tests__/system-monitor-g4.smoke.test.ts","frontend/src/views/system-settings/Index.vue","frontend/src/views/system-settings/__tests__/system-settings-g4.smoke.test.ts","frontend/src/views/system/AuditLogs.vue","frontend/src/views/system/Permissions.vue","frontend/src/views/system/__tests__/system-center-g4.smoke.test.ts","frontend/src/views/system/audit-logs/Index.vue","frontend/src/views/system/biz-sequences/Form.vue","frontend/src/views/system/biz-sequences/Index.vue","frontend/src/views/system/params/Index.vue","frontend/src/views/system/tenant-configs/Index.vue","frontend/src/views/targets/Breakdown.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/targets/Form.vue","frontend/src/views/targets/Index.vue","frontend/src/views/targets/__tests__/targets-g4.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tenant-configs/__tests__/tenant-configs-value-format.test.ts","frontend/src/views/tenant-settings/Index.vue","frontend/src/views/tenant-settings/__tests__/tenant-settings-g4.smoke.test.ts","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/tickets/Detail.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/tickets/__tests__/tickets-gov.smoke.test.ts","frontend/src/views/tickets/components/DetailDiagnosis.vue","frontend/src/views/tickets/components/DetailInfo.vue","frontend/src/views/tickets/components/DetailMessages.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/tickets/components/DetailSidebar.vue","frontend/src/views/tickets/components/DetailStageHistory.vue","frontend/src/views/tickets/components/DetailTimeline.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","frontend/src/views/tickets/composables/useTicketDetail.ts","frontend/src/views/tob-toc-gateway/Index.vue","frontend/src/views/treasury/Accounts.vue","frontend/src/views/treasury/CashForecast.vue","frontend/src/views/treasury/DailySettlement.vue","frontend/src/views/treasury/FundScheduling.vue","frontend/src/views/treasury/Index.vue","frontend/src/views/treasury/PaymentRequests.vue","frontend/src/views/treasury/__tests__/treasury-permission-compat.test.ts","frontend/src/views/users/Index.vue","frontend/src/views/users/components/RoleAssign.vue","frontend/src/views/users/components/UserForm.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/utm-tracking/Index.vue","frontend/src/views/video-analytics/Index.vue","frontend/src/views/video-call/Index.vue","frontend/src/views/video-call/__tests__/video-call-g4.smoke.test.ts","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Form.vue","frontend/src/views/video-content/Index.vue","frontend/src/views/video-publishing/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue","frontend/test-pdf-export.html","frontend/tsconfig.json","frontend/tsconfig.node.json","frontend/vite.config.ts","frontend/vitest.config.ts","mobile/.env.development","mobile/.env.production","mobile/.eslintrc.cjs","mobile/index.html","mobile/package.json","mobile/src/App.vue","mobile/src/api/index.ts","mobile/src/api/modules/approvals.ts","mobile/src/api/modules/ar-ledger.ts","mobile/src/api/modules/assets.ts","mobile/src/api/modules/auth.ts","mobile/src/api/modules/biz-sequences.ts","mobile/src/api/modules/campaigns.ts","mobile/src/api/modules/checkin.ts","mobile/src/api/modules/contacts.ts","mobile/src/api/modules/contract-templates.ts","mobile/src/api/modules/contracts.ts","mobile/src/api/modules/cpq.ts","mobile/src/api/modules/crm-activities.ts","mobile/src/api/modules/customer-health.ts","mobile/src/api/modules/customers.ts","mobile/src/api/modules/dashboard.ts","mobile/src/api/modules/departments.ts","mobile/src/api/modules/diagnose.ts","mobile/src/api/modules/diagnosis.ts","mobile/src/api/modules/event-logs.ts","mobile/src/api/modules/event-subscriptions.ts","mobile/src/api/modules/events.ts","mobile/src/api/modules/files.ts","mobile/src/api/modules/finance.ts","mobile/src/api/modules/fulfillment.ts","mobile/src/api/modules/im.ts","mobile/src/api/modules/inventory-reservations.ts","mobile/src/api/modules/inventory.ts","mobile/src/api/modules/invoices.ts","mobile/src/api/modules/knowledge-candidates.ts","mobile/src/api/modules/knowledge-feedback.ts","mobile/src/api/modules/knowledge.ts","mobile/src/api/modules/leads.ts","mobile/src/api/modules/marketing.ts","mobile/src/api/modules/notifications.ts","mobile/src/api/modules/offline.ts","mobile/src/api/modules/opportunities.ts","mobile/src/api/modules/orders.ts","mobile/src/api/modules/partner-customers.ts","mobile/src/api/modules/partners.ts","mobile/src/api/modules/payments.ts","mobile/src/api/modules/pm.ts","mobile/src/api/modules/price-books.ts","mobile/src/api/modules/products.ts","mobile/src/api/modules/projects.ts","mobile/src/api/modules/quotes.ts","mobile/src/api/modules/renewal-tasks.ts","mobile/src/api/modules/renewals.ts","mobile/src/api/modules/reports.ts","mobile/src/api/modules/rma.ts","mobile/src/api/modules/roles.ts","mobile/src/api/modules/sample-requests.ts","mobile/src/api/modules/scheduled-jobs.ts","mobile/src/api/modules/serial-numbers.ts","mobile/src/api/modules/settings.ts","mobile/src/api/modules/shipments.ts","mobile/src/api/modules/sla.ts","mobile/src/api/modules/spare-parts.ts","mobile/src/api/modules/stage-knowledge-packs.ts","mobile/src/api/modules/stage-knowledge.ts","mobile/src/api/modules/statistics.ts","mobile/src/api/modules/supply-chain.ts","mobile/src/api/modules/system-events.ts","mobile/src/api/modules/tasks.ts","mobile/src/api/modules/tenant-configs.ts","mobile/src/api/modules/tickets.ts","mobile/src/api/modules/users.ts","mobile/src/api/modules/visit.ts","mobile/src/api/modules/warehouses.ts","mobile/src/api/modules/workbench.ts","mobile/src/auto-imports.d.ts","mobile/src/components.d.ts","mobile/src/components/assistant/FloatingAssistant.vue","mobile/src/components/cards/CalendarCard.vue","mobile/src/components/cards/CardRenderer.vue","mobile/src/components/cards/FormCard.vue","mobile/src/components/cards/TimelineCard.vue","mobile/src/components/cards/WorkflowCard.vue","mobile/src/components/chat/ChatInput.vue","mobile/src/components/chat/CollaborationPanel.vue","mobile/src/components/chat/MessageBubble.vue","mobile/src/components/chat/MessageList.vue","mobile/src/components/chat/ModuleEventStream.vue","mobile/src/components/chat/ModuleSelector.vue","mobile/src/components/chat/ModuleWorkspaceCard.vue","mobile/src/components/chat/QuickCommandPanel.vue","mobile/src/components/chat/SuggestionChips.vue","mobile/src/components/common/DataList.vue","mobile/src/components/common/EmptyState.vue","mobile/src/components/common/ModuleCard.vue","mobile/src/components/common/PageHeader.vue","mobile/src/components/common/SkeletonLoader.vue","mobile/src/components/dashboard/WorkspaceCard.vue","mobile/src/components/layout/MobileLayout.vue","mobile/src/composables/index.ts","mobile/src/composables/useDebounce.ts","mobile/src/composables/useForm.ts","mobile/src/composables/useList.ts","mobile/src/composables/useLoading.ts","mobile/src/composables/useStorage.ts","mobile/src/composables/useToast.ts","mobile/src/composables/useVoiceInput.ts","mobile/src/composables/useVoiceRecognition.ts","mobile/src/config/moduleEventConfig.ts","mobile/src/config/moduleWorkspaceConfig.ts","mobile/src/constants/api.ts","mobile/src/constants/business.ts","mobile/src/constants/index.ts","mobile/src/constants/ui.ts","mobile/src/env.d.ts","mobile/src/main.ts","mobile/src/router/index.ts","mobile/src/services/ai-agent.ts","mobile/src/services/api.ts","mobile/src/stores/auth.ts","mobile/src/stores/chat.ts","mobile/src/stores/im.ts","mobile/src/stores/index.ts","mobile/src/stores/settings.ts","mobile/src/styles/index.scss","mobile/src/utils/device.ts","mobile/src/utils/format.ts","mobile/src/utils/helpers.ts","mobile/src/utils/index.ts","mobile/src/utils/validate.ts","mobile/src/views/Analytics.vue","mobile/src/views/Approvals.vue","mobile/src/views/Calendar.vue","mobile/src/views/Campaigns.vue","mobile/src/views/Channels.vue","mobile/src/views/Chat.vue","mobile/src/views/ContractDetail.vue","mobile/src/views/ContractForm.vue","mobile/src/views/Contracts.vue","mobile/src/views/CustomerAnalytics.vue","mobile/src/views/Dashboard.vue","mobile/src/views/DeviceDetail.vue","mobile/src/views/DeviceForm.vue","mobile/src/views/Devices.vue","mobile/src/views/Diagnosis.vue","mobile/src/views/Faults.vue","mobile/src/views/IMChat.vue","mobile/src/views/IMConversations.vue","mobile/src/views/Inventory.vue","mobile/src/views/Invoices.vue","mobile/src/views/Knowledge.vue","mobile/src/views/LeadDetail.vue","mobile/src/views/LeadForm.vue","mobile/src/views/Leads.vue","mobile/src/views/Login.vue","mobile/src/views/Messages.vue","mobile/src/views/Opportunities.vue","mobile/src/views/OpportunityDetail.vue","mobile/src/views/OpportunityForm.vue","mobile/src/views/OrderDetail.vue","mobile/src/views/OrderForm.vue","mobile/src/views/Orders.vue","mobile/src/views/PaymentAnalytics.vue","mobile/src/views/Payments.vue","mobile/src/views/Profile.vue","mobile/src/views/Promotions.vue","mobile/src/views/QuickActions.vue","mobile/src/views/QuoteDetail.vue","mobile/src/views/QuoteForm.vue","mobile/src/views/Quotes.vue","mobile/src/views/RMA.vue","mobile/src/views/Reminders.vue","mobile/src/views/Renewals.vue","mobile/src/views/Reports.vue","mobile/src/views/SalesDashboard.vue","mobile/src/views/Satisfaction.vue","mobile/src/views/SerialNumbers.vue","mobile/src/views/Settings.vue","mobile/src/views/Shipments.vue","mobile/src/views/Social.vue","mobile/src/views/SpareParts.vue","mobile/src/views/Targets.vue","mobile/src/views/TicketDetail.vue","mobile/src/views/TicketForm.vue","mobile/src/views/Tickets.vue","mobile/src/views/Todos.vue","mobile/src/views/Tutorials.vue","mobile/src/views/modules/ModuleList.vue","mobile/src/views/settings/AppearanceSettings.vue","mobile/src/views/settings/BehaviorSettings.vue","mobile/src/views/settings/NotificationSettings.vue","mobile/src/views/settings/QuickActionsSettings.vue","mobile/src/views/settings/VoiceSettings.vue","mobile/tsconfig.json","mobile/tsconfig.node.json","mobile/vite.config.ts","scripts/analyze-frontend-menu-coverage.ts","scripts/analyze-frontend.sh","scripts/audit-list-page-routes.ts","scripts/audit-page-click-interactions.ts","scripts/auto-fix/fixers/frontend-api-types.ts","scripts/check-menu-alignment.ts","scripts/check-view-db-consistency.ts","scripts/fix-error-unknown-usage.sh","scripts/fix-frontend-any-types.ts","scripts/fix-menu-groups.ts","scripts/generate-ktv-frontend.ts","scripts/migrate-to-uselistpage.ts","scripts/monitor-process-core-migration.ts"],"modified":[".agents/skills/brand-guidelines/SKILL.md",".agents/skills/frontend-design/SKILL.md",".agents/skills/source-command-juhi-api/SKILL.md",".agents/skills/source-command-juhi-verify/SKILL.md",".agents/skills/webapp-testing/SKILL.md",".claude/skills/brand-guidelines/SKILL.md",".claude/skills/frontend-design/SKILL.md",".claude/skills/juhi-deploy-runbook/SKILL.md",".claude/skills/juhi/api.md",".claude/skills/juhi/fullstack.md",".claude/skills/juhi/migrate.md",".claude/skills/juhi/references/fullstack-templates.md",".claude/skills/juhi/references/view-templates.md",".claude/skills/juhi/store.md",".claude/skills/juhi/typescript.md",".claude/skills/juhi/view.md",".claude/skills/webapp-testing/SKILL.md",".codex/skills/juhi-frontend-view-governance/SKILL.md",".codex/skills/juhi-frontend-view-governance/checklist.md",".codex/skills/juhi-frontend-view-governance/references/entrypoints.md",".dockerignore",".dockerignore.local",".gitea/workflows/ci.yml","00-部署指南-完整版.md","AGENTS.md","CLAUDE.md","DEPLOY.md","DOCKER.md","Makefile","README.md","backend/src/modules/livestream/livestream.schema.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.docs.ts","backend/src/modules/rma/rma.schema.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/rma/rma.service.ts","docker-compose.eios.yml","docker-compose.local-prod.yml","docker-compose.prod.yml","docker-compose.yml","docs/api/openapi.json","docs/api/openapi.yaml","docs/architecture/view-driven-database.md","docs/eios-transformation/README.md","docs/eios-transformation/inventory/README.md","docs/eios-transformation/inventory/app-manifest.draft.json","docs/eios-transformation/inventory/context-providers.md","docs/eios-transformation/inventory/cross-app-access.md","docs/eios-transformation/inventory/dead-code-and-root.md","docs/eios-transformation/inventory/module-disposition.md","docs/eios-transformation/inventory/permissions.md","docs/eios-transformation/inventory/sandbox-tools.md","docs/eios-transformation/inventory/scripts/gen_manifest.py","docs/eios-transformation/inventory/scripts/gen_permissions.py","docs/eios-transformation/inventory/scripts/inv_common.py","docs/eios-transformation/总设计-2026-10-27.md","docs/eios-transformation/改造计划-2026-10-28.md","docs/guides/JUHI-SKILLS.md","docs/guides/development-guide.md","docs/guides/frontend-dev-guide.md","docs/guides/frontend-integration-guide.md","docs/guides/frontend-ui-test-specification.md","docs/guides/full-stack-audit-lessons.md","docs/guides/full-stack-consistency-guide.md","docs/guides/quick-start.md","docs/guides/typescript-best-practices.md","e2e/package.json","e2e/playwright.config.ts","e2e/scripts/lib/finance-os-governance.mjs","e2e/scripts/lib/view-audit.mjs","e2e/scripts/lib/view-audit.overrides.mjs","e2e/scripts/lib/view-governance.mjs","e2e/scripts/select-changed-modules.mjs","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/frontend-runtime-quality-audit.latest.json","reports/view-module-audit.latest.json","scripts/analyze-todos.ts","scripts/archive/ROUTER-SUPPLEMENT.ts","scripts/archive/verify-roi-rename.sh","scripts/audit-chart-imports.ts","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-frontend-runtime-quality.ts","scripts/audit-menu-inventory.ts","scripts/audit-permission-keys.mjs","scripts/audit-project-census.ts","scripts/audit-response-columns.ts","scripts/audit-type-debt.ts","scripts/auto-fix/index.ts","scripts/check-consistency.ts","scripts/check-env.sh","scripts/check-no-new-any.ts","scripts/cleanup.sh","scripts/deploy-all.sh","scripts/governance-commander-seed-artifacts.ts","scripts/harness/agents.ts","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/module-resolver.ts","scripts/harness/pipelines.ts","scripts/harness/production-release-gate.test.ts","scripts/harness/report.ts","scripts/hooks/post-tool-lint-file.sh","scripts/hooks/post-tool-typecheck.sh","scripts/hooks/pre-compact-save.sh","scripts/hooks/pre-tool-block-env.sh","scripts/hooks/session-end-distill.sh","scripts/lib/governance-commander.ts","scripts/preload-prod-images.sh","scripts/project-health-check.ts","scripts/r.sh","scripts/redeploy-frontend.sh","scripts/restart-dev.sh","scripts/start-all.sh","scripts/sync-local-env.sh","shared/package.json","shared/src/composables/useStateMachine.ts","shared/src/composables/useTenantContext.ts","shared/src/constants/index.ts","shared/src/types/field-mappings.ts","shared/src/types/leads.ts","shared/src/types/models.ts","shared/src/utils/permission-checker.ts"]}],"total_commits":0,"head_commit":{"id":"782018b7c721129de41189a65276dee1652eb5c5","message":"feat(frontend): 迁入 React 单前端并衔接 EIOS 改造副本\n\n从 legacy/react-migration f23014a01 导入前端源码与治理入口,保留独立历史及后端 EIOS 接缝。补齐邮件模板、退役路由、直播/RMA 契约、本地预览代理及日期/标签回归,更新相关文档与盘点。\n\n验证:React 类型/lint/构建、Payload/FormRules、路由与盘点检查通过;整套首轮 2176/2187,11 个失败项修复后 14 文件 37/37;后端专项 37/37,共享包 269/269,Harness 22/22。本机真实登录已通过,非生产或全量清洁业务签收。\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/782018b7c721129de41189a65276dee1652eb5c5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-01T16:33:01-08:00","added":[".claude/skills/juhi-react-dev/SKILL.md","backend/src/modules/livestream/react-schedule-contract.test.ts","docs/eios-transformation/React前端替换-2026-11-01.md","docs/eios-transformation/inventory/scripts/frontend-permissions.mjs","docs/eios-transformation/inventory/scripts/frontend-permissions.test.mjs","docs/reports/view-audit-domains/a1-acquisition-center-2026-11-01.md","docs/reports/view-audit-domains/a2-finance-center-2026-11-01.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-11-01.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-11-01.md","docs/reports/view-audit-domains/a5-admin-center-2026-11-01.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-11-01.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-11-01.md","docs/reports/view-audit-domains/a8-system-center-2026-11-01.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-11-01.md","docs/reports/view-audit-full-matrix-2026-11-01.md","e2e/scripts/generate-react-view-governance.mjs","e2e/scripts/verify-react-view-governance.mjs","e2e/tests/ui-modules/react-view-governance.generated.json","frontend-react/.env.android","frontend-react/.env.example","frontend-react/.env.ios","frontend-react/.eslintrc.cjs","frontend-react/Dockerfile","frontend-react/Dockerfile.prebuilt","frontend-react/android/.gitignore","frontend-react/android/app/.gitignore","frontend-react/android/app/build.gradle","frontend-react/android/app/capacitor.build.gradle","frontend-react/android/app/proguard-rules.pro","frontend-react/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java","frontend-react/android/app/src/main/AndroidManifest.xml","frontend-react/android/app/src/main/java/com/juhi/omnihub/MainActivity.java","frontend-react/android/app/src/main/res/drawable-land-hdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-mdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-land-xxxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-hdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-mdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-port-xxxhdpi/splash.png","frontend-react/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml","frontend-react/android/app/src/main/res/drawable/ic_launcher_background.xml","frontend-react/android/app/src/main/res/drawable/splash.png","frontend-react/android/app/src/main/res/layout/activity_main.xml","frontend-react/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","frontend-react/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png","frontend-react/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png","frontend-react/android/app/src/main/res/values/ic_launcher_background.xml","frontend-react/android/app/src/main/res/values/strings.xml","frontend-react/android/app/src/main/res/values/styles.xml","frontend-react/android/app/src/main/res/xml/file_paths.xml","frontend-react/android/app/src/main/res/xml/network_security_config.xml","frontend-react/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java","frontend-react/android/build.gradle","frontend-react/android/capacitor.settings.gradle","frontend-react/android/gradle.properties","frontend-react/android/gradle/wrapper/gradle-wrapper.jar","frontend-react/android/gradle/wrapper/gradle-wrapper.properties","frontend-react/android/gradlew","frontend-react/android/gradlew.bat","frontend-react/android/settings.gradle","frontend-react/android/variables.gradle","frontend-react/capacitor.config.ts","frontend-react/index.html","frontend-react/nginx.conf","frontend-react/package.json","frontend-react/src/api/adapters.ts","frontend-react/src/api/api-base-url.test.ts","frontend-react/src/api/api-base-url.ts","frontend-react/src/api/client.test.ts","frontend-react/src/api/client.ts","frontend-react/src/api/factory.ts","frontend-react/src/api/fetch-all-pages.ts","frontend-react/src/api/im-binding.ts","frontend-react/src/api/index.ts","frontend-react/src/api/modules/__root__.docs.ts","frontend-react/src/api/modules/__tests__/ad-reports.test.ts","frontend-react/src/api/modules/__tests__/ai-autopilot.test.ts","frontend-react/src/api/modules/__tests__/im-websocket.test.ts","frontend-react/src/api/modules/__tests__/lead-scoring-ai.test.ts","frontend-react/src/api/modules/__tests__/leads-lead-scoring.test.ts","frontend-react/src/api/modules/__tests__/login-logs.test.ts","frontend-react/src/api/modules/__tests__/sse-connection-manager.test.ts","frontend-react/src/api/modules/__tests__/ticket-workflows.test.ts","frontend-react/src/api/modules/acquisition.ts","frontend-react/src/api/modules/ad-accounts.ts","frontend-react/src/api/modules/ad-analytics.ts","frontend-react/src/api/modules/ad-audiences.ts","frontend-react/src/api/modules/ad-biddings.ts","frontend-react/src/api/modules/ad-campaigns.test.ts","frontend-react/src/api/modules/ad-campaigns.ts","frontend-react/src/api/modules/ad-creatives.ts","frontend-react/src/api/modules/ad-placement.ts","frontend-react/src/api/modules/ad-placements.ts","frontend-react/src/api/modules/ad-reports.ts","frontend-react/src/api/modules/admin-settings.ts","frontend-react/src/api/modules/agent-group.ts","frontend-react/src/api/modules/agent-sessions.ts","frontend-react/src/api/modules/aging-analysis.ts","frontend-react/src/api/modules/ai-agent-core.ts","frontend-react/src/api/modules/ai-agent-im.ts","frontend-react/src/api/modules/ai-agent-skills.ts","frontend-react/src/api/modules/ai-agent-tasks.ts","frontend-react/src/api/modules/ai-agent-workflows.ts","frontend-react/src/api/modules/ai-agent.ts","frontend-react/src/api/modules/ai-agents.ts","frontend-react/src/api/modules/ai-assist.ts","frontend-react/src/api/modules/ai-autopilot.ts","frontend-react/src/api/modules/ai-copilot.ts","frontend-react/src/api/modules/ai-review-queue.ts","frontend-react/src/api/modules/alliance-agreements.ts","frontend-react/src/api/modules/alliance-analytics.ts","frontend-react/src/api/modules/alliance-campaigns.ts","frontend-react/src/api/modules/alliance-coupons.ts","frontend-react/src/api/modules/alliance-merchants.ts","frontend-react/src/api/modules/alliance-packages.ts","frontend-react/src/api/modules/alliance-partners.ts","frontend-react/src/api/modules/alliance-products.ts","frontend-react/src/api/modules/alliance-promotions.ts","frontend-react/src/api/modules/alliance-referrals.ts","frontend-react/src/api/modules/alliance-settlements.ts","frontend-react/src/api/modules/analytics.test.ts","frontend-react/src/api/modules/analytics.ts","frontend-react/src/api/modules/ap-ledger.test.ts","frontend-react/src/api/modules/ap-ledger.ts","frontend-react/src/api/modules/approval-templates.ts","frontend-react/src/api/modules/approvals.ts","frontend-react/src/api/modules/ar-ledger.test.ts","frontend-react/src/api/modules/ar-ledger.ts","frontend-react/src/api/modules/assembly.ts","frontend-react/src/api/modules/assets.ts","frontend-react/src/api/modules/attribution.test.ts","frontend-react/src/api/modules/attribution.ts","frontend-react/src/api/modules/audit-logs.ts","frontend-react/src/api/modules/auth.ts","frontend-react/src/api/modules/backend-management.docs.ts","frontend-react/src/api/modules/backend-management.ts","frontend-react/src/api/modules/biz-sequences.ts","frontend-react/src/api/modules/bom.ts","frontend-react/src/api/modules/campaign-analytics.ts","frontend-react/src/api/modules/campaign-drafts.ts","frontend-react/src/api/modules/campaign-library.ts","frontend-react/src/api/modules/campaign-targets.ts","frontend-react/src/api/modules/campaign-tools.ts","frontend-react/src/api/modules/campaign-use-case-templates.ts","frontend-react/src/api/modules/campaign-wizard.test.ts","frontend-react/src/api/modules/campaign-wizard.ts","frontend-react/src/api/modules/campaigns.ts","frontend-react/src/api/modules/capability-graph.ts","frontend-react/src/api/modules/cash-flow.test.ts","frontend-react/src/api/modules/cash-flow.ts","frontend-react/src/api/modules/certifications.ts","frontend-react/src/api/modules/channel-analytics.ts","frontend-react/src/api/modules/channel-integrations.ts","frontend-react/src/api/modules/channels.ts","frontend-react/src/api/modules/chart-of-accounts.ts","frontend-react/src/api/modules/cohort-analysis.ts","frontend-react/src/api/modules/commissions.ts","frontend-react/src/api/modules/community-activities.ts","frontend-react/src/api/modules/community-analytics.ts","frontend-react/src/api/modules/community-bots.ts","frontend-react/src/api/modules/community-fission.ts","frontend-react/src/api/modules/community-gamification.ts","frontend-react/src/api/modules/community-groups.ts","frontend-react/src/api/modules/community-levels.ts","frontend-react/src/api/modules/community-materials.ts","frontend-react/src/api/modules/community-members.ts","frontend-react/src/api/modules/community-messages.ts","frontend-react/src/api/modules/community-points.ts","frontend-react/src/api/modules/community-tasks.ts","frontend-react/src/api/modules/consumer-behavior-analytics.ts","frontend-react/src/api/modules/content-analytics.ts","frontend-react/src/api/modules/content-categories.ts","frontend-react/src/api/modules/content-copyright.test.ts","frontend-react/src/api/modules/content-copyright.ts","frontend-react/src/api/modules/content-creation.ts","frontend-react/src/api/modules/content-distribution.ts","frontend-react/src/api/modules/content-library.ts","frontend-react/src/api/modules/content-review.ts","frontend-react/src/api/modules/content-templates.ts","frontend-react/src/api/modules/contract-templates.test.ts","frontend-react/src/api/modules/contract-templates.ts","frontend-react/src/api/modules/contracts.test.ts","frontend-react/src/api/modules/contracts.ts","frontend-react/src/api/modules/cost-allocation.ts","frontend-react/src/api/modules/course-marketplace.ts","frontend-react/src/api/modules/cpq.ts","frontend-react/src/api/modules/crm-activities.ts","frontend-react/src/api/modules/cross-domain-funnel.ts","frontend-react/src/api/modules/customer-analytics.ts","frontend-react/src/api/modules/customer-balance.ts","frontend-react/src/api/modules/customer-health.ts","frontend-react/src/api/modules/customer-journey-orchestration.ts","frontend-react/src/api/modules/customer-journey.ts","frontend-react/src/api/modules/customer-lifecycle-value.ts","frontend-react/src/api/modules/customer-ltv.ts","frontend-react/src/api/modules/customer-marketing.ts","frontend-react/src/api/modules/customer-profit.ts","frontend-react/src/api/modules/customer-segmentation.ts","frontend-react/src/api/modules/customers.test.ts","frontend-react/src/api/modules/customers.ts","frontend-react/src/api/modules/dashboard.ts","frontend-react/src/api/modules/departments.test.ts","frontend-react/src/api/modules/departments.ts","frontend-react/src/api/modules/devices.ts","frontend-react/src/api/modules/diagnosis.ts","frontend-react/src/api/modules/dictionaries.test.ts","frontend-react/src/api/modules/dictionaries.ts","frontend-react/src/api/modules/dimension-transform.ts","frontend-react/src/api/modules/disbursements.ts","frontend-react/src/api/modules/email-marketing.ts","frontend-react/src/api/modules/email-templates.eios.test.ts","frontend-react/src/api/modules/email-templates.ts","frontend-react/src/api/modules/event-logs.ts","frontend-react/src/api/modules/event-subscriptions.ts","frontend-react/src/api/modules/events.ts","frontend-react/src/api/modules/expense-claims.test.ts","frontend-react/src/api/modules/expense-claims.ts","frontend-react/src/api/modules/expense.ts","frontend-react/src/api/modules/faults.ts","frontend-react/src/api/modules/files.ts","frontend-react/src/api/modules/finance-os.ts","frontend-react/src/api/modules/finance-periods.ts","frontend-react/src/api/modules/finance.ts","frontend-react/src/api/modules/financial-reports.ts","frontend-react/src/api/modules/fulfillment.ts","frontend-react/src/api/modules/geo-analytics.ts","frontend-react/src/api/modules/geo-fences.ts","frontend-react/src/api/modules/geo-keywords.ts","frontend-react/src/api/modules/geo-pois.ts","frontend-react/src/api/modules/geo-reviews.ts","frontend-react/src/api/modules/groupbuy-analytics.ts","frontend-react/src/api/modules/groupbuy-campaigns.ts","frontend-react/src/api/modules/groupbuy-commissions.ts","frontend-react/src/api/modules/groupbuy-influencers-api.ts","frontend-react/src/api/modules/groupbuy-influencers-types.ts","frontend-react/src/api/modules/groupbuy-influencers-utils.ts","frontend-react/src/api/modules/groupbuy-influencers.test.ts","frontend-react/src/api/modules/groupbuy-influencers.ts","frontend-react/src/api/modules/groupbuy-inventory.ts","frontend-react/src/api/modules/groupbuy-orders.ts","frontend-react/src/api/modules/groupbuy-participants.ts","frontend-react/src/api/modules/groupbuy-platforms.ts","frontend-react/src/api/modules/groupbuy-pricing.ts","frontend-react/src/api/modules/groupbuy-products.ts","frontend-react/src/api/modules/groupbuy-promotions.ts","frontend-react/src/api/modules/groupbuy-redemptions.ts","frontend-react/src/api/modules/groupbuy-reviews.ts","frontend-react/src/api/modules/groupbuy-settlements.ts","frontend-react/src/api/modules/hr-attendance.test.ts","frontend-react/src/api/modules/hr-attendance.ts","frontend-react/src/api/modules/hr-benefits.test.ts","frontend-react/src/api/modules/hr-benefits.ts","frontend-react/src/api/modules/hr-payroll.ts","frontend-react/src/api/modules/hr-training-api.ts","frontend-react/src/api/modules/hr-training-types.ts","frontend-react/src/api/modules/hr-training.test.ts","frontend-react/src/api/modules/hr-training.ts","frontend-react/src/api/modules/hr.docs.ts","frontend-react/src/api/modules/hr.ts","frontend-react/src/api/modules/im-channels.ts","frontend-react/src/api/modules/im-conversations.ts","frontend-react/src/api/modules/im-messages.ts","frontend-react/src/api/modules/im-websocket.ts","frontend-react/src/api/modules/im.ts","frontend-react/src/api/modules/integration-services.ts","frontend-react/src/api/modules/intent-analyzer.ts","frontend-react/src/api/modules/inventory-reservations.ts","frontend-react/src/api/modules/inventory.test.ts","frontend-react/src/api/modules/inventory.ts","frontend-react/src/api/modules/invoices.ts","frontend-react/src/api/modules/journal-entries.ts","frontend-react/src/api/modules/journey-orchestration.ts","frontend-react/src/api/modules/knowledge-base.ts","frontend-react/src/api/modules/knowledge-candidates.test.ts","frontend-react/src/api/modules/knowledge-candidates.ts","frontend-react/src/api/modules/knowledge-capture-rules.ts","frontend-react/src/api/modules/knowledge-capture.ts","frontend-react/src/api/modules/knowledge-feedback.test.ts","frontend-react/src/api/modules/knowledge-feedback.ts","frontend-react/src/api/modules/knowledge.ts","frontend-react/src/api/modules/landing-pages.ts","frontend-react/src/api/modules/lead-pools.ts","frontend-react/src/api/modules/lead-qualification.ts","frontend-react/src/api/modules/lead-scoring-ai.ts","frontend-react/src/api/modules/lead-sla.ts","frontend-react/src/api/modules/leads.test.ts","frontend-react/src/api/modules/leads.ts","frontend-react/src/api/modules/learning-paths.ts","frontend-react/src/api/modules/livestream-analytics.ts","frontend-react/src/api/modules/livestream-gifts.ts","frontend-react/src/api/modules/livestream-groupbuy-conversion.ts","frontend-react/src/api/modules/livestream-groupbuy.ts","frontend-react/src/api/modules/livestream-interactions.ts","frontend-react/src/api/modules/livestream-products.ts","frontend-react/src/api/modules/livestream-rooms.ts","frontend-react/src/api/modules/livestream-schedules.ts","frontend-react/src/api/modules/livestream-scripts.ts","frontend-react/src/api/modules/livestream.ts","frontend-react/src/api/modules/location-assessments.ts","frontend-react/src/api/modules/login-logs.ts","frontend-react/src/api/modules/maintenance.ts","frontend-react/src/api/modules/marketing-attribution.docs.ts","frontend-react/src/api/modules/marketing-attribution.ts","frontend-react/src/api/modules/marketing-automation.ts","frontend-react/src/api/modules/marketing-calendar.ts","frontend-react/src/api/modules/marketing-chatbot.ts","frontend-react/src/api/modules/marketing-content.ts","frontend-react/src/api/modules/marketing-effectiveness.docs.ts","frontend-react/src/api/modules/marketing-effectiveness.ts","frontend-react/src/api/modules/marketing-forms.ts","frontend-react/src/api/modules/marketing-matrix.ts","frontend-react/src/api/modules/marketing-north-star.test.ts","frontend-react/src/api/modules/marketing-north-star.ts","frontend-react/src/api/modules/marketing-timeslots.ts","frontend-react/src/api/modules/marketing-tools.docs.ts","frontend-react/src/api/modules/marketing-tools.ts","frontend-react/src/api/modules/marketing-workflows.ts","frontend-react/src/api/modules/marketing.ts","frontend-react/src/api/modules/mdm.ts","frontend-react/src/api/modules/meddpicc-analyses.ts","frontend-react/src/api/modules/menus.ts","frontend-react/src/api/modules/multi-touch-attribution.ts","frontend-react/src/api/modules/notification-configs.ts","frontend-react/src/api/modules/notifications.ts","frontend-react/src/api/modules/omnichannel-dashboard.ts","frontend-react/src/api/modules/omnichannel-data-hub.ts","frontend-react/src/api/modules/omnichannel-touchpoints.ts","frontend-react/src/api/modules/operation-logs.ts","frontend-react/src/api/modules/opportunities.test.ts","frontend-react/src/api/modules/opportunities.ts","frontend-react/src/api/modules/orders.test.ts","frontend-react/src/api/modules/orders.ts","frontend-react/src/api/modules/org-chart.docs.ts","frontend-react/src/api/modules/org-chart.ts","frontend-react/src/api/modules/outbound.ts","frontend-react/src/api/modules/partner-customers.ts","frontend-react/src/api/modules/partners.ts","frontend-react/src/api/modules/payment-analytics.ts","frontend-react/src/api/modules/payment-plans.ts","frontend-react/src/api/modules/payments.ts","frontend-react/src/api/modules/performance-aggregates.ts","frontend-react/src/api/modules/pm.ts","frontend-react/src/api/modules/positions.docs.ts","frontend-react/src/api/modules/positions.ts","frontend-react/src/api/modules/predictive-analytics.ts","frontend-react/src/api/modules/price-books.test.ts","frontend-react/src/api/modules/price-books.ts","frontend-react/src/api/modules/process-designer.ts","frontend-react/src/api/modules/process-im.ts","frontend-react/src/api/modules/process.ts","frontend-react/src/api/modules/product-analytics.docs.ts","frontend-react/src/api/modules/product-analytics.ts","frontend-react/src/api/modules/product-categories.ts","frontend-react/src/api/modules/products.test.ts","frontend-react/src/api/modules/products.ts","frontend-react/src/api/modules/projects-api.ts","frontend-react/src/api/modules/projects-types.ts","frontend-react/src/api/modules/projects.ts","frontend-react/src/api/modules/purchase-orders.test.ts","frontend-react/src/api/modules/purchase-orders.ts","frontend-react/src/api/modules/qr-codes.ts","frontend-react/src/api/modules/quotes.test.ts","frontend-react/src/api/modules/quotes.ts","frontend-react/src/api/modules/realtime-trigger.ts","frontend-react/src/api/modules/realtime.ts","frontend-react/src/api/modules/reconciliation.ts","frontend-react/src/api/modules/redemptions.ts","frontend-react/src/api/modules/renewal-tasks.ts","frontend-react/src/api/modules/renewals.ts","frontend-react/src/api/modules/reports.ts","frontend-react/src/api/modules/resource-requests.ts","frontend-react/src/api/modules/revenue-recognition.ts","frontend-react/src/api/modules/revenue.ts","frontend-react/src/api/modules/rfm-analysis.ts","frontend-react/src/api/modules/rma.ts","frontend-react/src/api/modules/roles.test.ts","frontend-react/src/api/modules/roles.ts","frontend-react/src/api/modules/sales-coach.ts","frontend-react/src/api/modules/sales-dashboard.test.ts","frontend-react/src/api/modules/sales-dashboard.ts","frontend-react/src/api/modules/sample-requests.ts","frontend-react/src/api/modules/satisfaction.ts","frontend-react/src/api/modules/scheduled-jobs.ts","frontend-react/src/api/modules/search.ts","frontend-react/src/api/modules/security-settings.docs.ts","frontend-react/src/api/modules/security-settings.ts","frontend-react/src/api/modules/segments.ts","frontend-react/src/api/modules/self-operated-store.ts","frontend-react/src/api/modules/serial-numbers.ts","frontend-react/src/api/modules/service-dashboard.ts","frontend-react/src/api/modules/service-monitor.ts","frontend-react/src/api/modules/service.docs.ts","frontend-react/src/api/modules/service.ts","frontend-react/src/api/modules/settings.docs.ts","frontend-react/src/api/modules/settings.ts","frontend-react/src/api/modules/shipments.docs.ts","frontend-react/src/api/modules/shipments.ts","frontend-react/src/api/modules/sla.ts","frontend-react/src/api/modules/sms-marketing.ts","frontend-react/src/api/modules/social-accounts.ts","frontend-react/src/api/modules/social-analytics.ts","frontend-react/src/api/modules/social-auto-replies.ts","frontend-react/src/api/modules/social-competitors.ts","frontend-react/src/api/modules/social-followers.ts","frontend-react/src/api/modules/social-hot-topics.ts","frontend-react/src/api/modules/social-interactions.ts","frontend-react/src/api/modules/social-posts.ts","frontend-react/src/api/modules/spare-parts.ts","frontend-react/src/api/modules/stage-knowledge-packs.ts","frontend-react/src/api/modules/stage-knowledge.ts","frontend-react/src/api/modules/store-agency.ts","frontend-react/src/api/modules/store-configs.ts","frontend-react/src/api/modules/store-dashboard.ts","frontend-react/src/api/modules/store-inventory.ts","frontend-react/src/api/modules/store-ops-compat.test.ts","frontend-react/src/api/modules/store-performance.test.ts","frontend-react/src/api/modules/store-performance.ts","frontend-react/src/api/modules/store-settlements.ts","frontend-react/src/api/modules/store-staff.ts","frontend-react/src/api/modules/stores.test.ts","frontend-react/src/api/modules/stores.ts","frontend-react/src/api/modules/supplier-center.ts","frontend-react/src/api/modules/supplier-management.ts","frontend-react/src/api/modules/supplier-payments.test.ts","frontend-react/src/api/modules/supplier-payments.ts","frontend-react/src/api/modules/suppliers.test.ts","frontend-react/src/api/modules/suppliers.ts","frontend-react/src/api/modules/supply-chain.ts","frontend-react/src/api/modules/swot-analyses.ts","frontend-react/src/api/modules/system-events.ts","frontend-react/src/api/modules/system-import.ts","frontend-react/src/api/modules/system-monitor.ts","frontend-react/src/api/modules/system-settings.ts","frontend-react/src/api/modules/system.docs.ts","frontend-react/src/api/modules/system.ts","frontend-react/src/api/modules/talent-review.ts","frontend-react/src/api/modules/targets.ts","frontend-react/src/api/modules/tenant-configs.ts","frontend-react/src/api/modules/tenant-settings.ts","frontend-react/src/api/modules/ticket-dependencies.ts","frontend-react/src/api/modules/ticket-gantt.ts","frontend-react/src/api/modules/ticket-workflows.ts","frontend-react/src/api/modules/tickets.ts","frontend-react/src/api/modules/tob-toc-gateway.ts","frontend-react/src/api/modules/treasury.ts","frontend-react/src/api/modules/unified-campaign.ts","frontend-react/src/api/modules/users.test.ts","frontend-react/src/api/modules/users.ts","frontend-react/src/api/modules/utm-tracking.ts","frontend-react/src/api/modules/video-call.ts","frontend-react/src/api/modules/video-calls.ts","frontend-react/src/api/modules/web-tracking.ts","frontend-react/src/api/modules/workflow-designer.ts","frontend-react/src/api/response-normalizer.test.ts","frontend-react/src/api/response-normalizer.ts","frontend-react/src/app/App.tsx","frontend-react/src/app/providers/ErrorBoundary.test.tsx","frontend-react/src/app/providers/ErrorBoundary.tsx","frontend-react/src/app/providers/FeedbackBinder.tsx","frontend-react/src/app/providers/QueryProvider.tsx","frontend-react/src/app/providers/ThemeProvider.tsx","frontend-react/src/app/theme/antd-tokens.test.ts","frontend-react/src/app/theme/antd-tokens.ts","frontend-react/src/components/BatchActionBar.module.scss","frontend-react/src/components/BatchActionBar.test.tsx","frontend-react/src/components/BatchActionBar.tsx","frontend-react/src/components/business/BizCodeLink.module.scss","frontend-react/src/components/business/BizCodeLink.test.tsx","frontend-react/src/components/business/BizCodeLink.tsx","frontend-react/src/components/business/EventKnowledgeInput.module.scss","frontend-react/src/components/business/EventKnowledgeInput.test.tsx","frontend-react/src/components/business/EventKnowledgeInput.tsx","frontend-react/src/components/business/IMPanel.module.scss","frontend-react/src/components/business/IMPanel.test.tsx","frontend-react/src/components/business/IMPanel.tsx","frontend-react/src/components/business/LeadConvertDialog.tsx","frontend-react/src/components/business/ObjectionDetector.module.scss","frontend-react/src/components/business/ObjectionDetector.test.tsx","frontend-react/src/components/business/ObjectionDetector.tsx","frontend-react/src/components/business/SLAClock.module.scss","frontend-react/src/components/business/SLAClock.tsx","frontend-react/src/components/business/UserPicker.module.scss","frontend-react/src/components/business/UserPicker.test.tsx","frontend-react/src/components/business/UserPicker.tsx","frontend-react/src/components/business/event-stream/EventStreamPanel.tsx","frontend-react/src/components/business/event-stream/__tests__/EventStreamPanel.test.tsx","frontend-react/src/components/business/im-panel/ConversationMessages.module.scss","frontend-react/src/components/business/im-panel/ConversationMessages.tsx","frontend-react/src/components/business/im-panel/__tests__/ConversationMessages.test.tsx","frontend-react/src/components/business/index.ts","frontend-react/src/components/common/Chart.test.tsx","frontend-react/src/components/common/Chart.tsx","frontend-react/src/components/common/DataTable.module.scss","frontend-react/src/components/common/DataTable.test.tsx","frontend-react/src/components/common/DataTable.tsx","frontend-react/src/components/common/EmptyState.module.scss","frontend-react/src/components/common/EmptyState.tsx","frontend-react/src/components/common/ExportButton.tsx","frontend-react/src/components/common/FormDialog.module.scss","frontend-react/src/components/common/FormDialog.tsx","frontend-react/src/components/common/ImportDialog.module.scss","frontend-react/src/components/common/ImportDialog.tsx","frontend-react/src/components/common/JHLogo.module.scss","frontend-react/src/components/common/JHLogo.tsx","frontend-react/src/components/common/LoadingFallback.module.scss","frontend-react/src/components/common/LoadingFallback.tsx","frontend-react/src/components/common/PageHeader.module.scss","frontend-react/src/components/common/PageHeader.tsx","frontend-react/src/components/common/Permission.tsx","frontend-react/src/components/common/ResponsiveDataTable.module.scss","frontend-react/src/components/common/ResponsiveDataTable.test.tsx","frontend-react/src/components/common/ResponsiveDataTable.tsx","frontend-react/src/components/common/SearchForm.module.scss","frontend-react/src/components/common/SearchForm.test.tsx","frontend-react/src/components/common/SearchForm.tsx","frontend-react/src/components/common/SkeletonLoader.module.scss","frontend-react/src/components/common/SkeletonLoader.tsx","frontend-react/src/components/common/StatsCard.module.scss","frontend-react/src/components/common/StatsCard.tsx","frontend-react/src/components/common/StatusBadge.module.scss","frontend-react/src/components/common/StatusBadge.tsx","frontend-react/src/components/common/common-small.test.tsx","frontend-react/src/components/common/dialogs.test.tsx","frontend-react/src/components/common/index.ts","frontend-react/src/components/layout/AppLayout.module.scss","frontend-react/src/components/layout/AppLayout.test.tsx","frontend-react/src/components/layout/AppLayout.tsx","frontend-react/src/components/layout/Breadcrumb.module.scss","frontend-react/src/components/layout/Breadcrumb.tsx","frontend-react/src/components/layout/Header.module.scss","frontend-react/src/components/layout/Header.test.tsx","frontend-react/src/components/layout/Header.tsx","frontend-react/src/components/layout/MobileAppShell.module.scss","frontend-react/src/components/layout/MobileAppShell.test.tsx","frontend-react/src/components/layout/MobileAppShell.tsx","frontend-react/src/components/layout/MobileBottomNav.module.scss","frontend-react/src/components/layout/MobileBottomNav.test.tsx","frontend-react/src/components/layout/MobileBottomNav.tsx","frontend-react/src/components/layout/MobileDrawer.module.scss","frontend-react/src/components/layout/MobileDrawer.tsx","frontend-react/src/components/layout/MobileHeader.module.scss","frontend-react/src/components/layout/MobileHeader.tsx","frontend-react/src/components/layout/OfflineBanner.module.scss","frontend-react/src/components/layout/OfflineBanner.tsx","frontend-react/src/components/layout/PageAIAssistWidget.tsx","frontend-react/src/components/layout/ServiceStatusIndicator.module.scss","frontend-react/src/components/layout/ServiceStatusIndicator.tsx","frontend-react/src/components/layout/Sidebar.module.scss","frontend-react/src/components/layout/Sidebar.test.tsx","frontend-react/src/components/layout/Sidebar.tsx","frontend-react/src/components/layout/index.ts","frontend-react/src/components/mobile/BottomActionBar.module.scss","frontend-react/src/components/mobile/BottomActionBar.test.tsx","frontend-react/src/components/mobile/BottomActionBar.tsx","frontend-react/src/components/mobile/FloatingActionButton.module.scss","frontend-react/src/components/mobile/FloatingActionButton.tsx","frontend-react/src/components/mobile/MobileCard.module.scss","frontend-react/src/components/mobile/MobileCard.test.tsx","frontend-react/src/components/mobile/MobileCard.tsx","frontend-react/src/components/mobile/MobileFilterDrawer.module.scss","frontend-react/src/components/mobile/MobileFilterDrawer.test.tsx","frontend-react/src/components/mobile/MobileFilterDrawer.tsx","frontend-react/src/components/mobile/MobileFormStepper.module.scss","frontend-react/src/components/mobile/MobileFormStepper.test.tsx","frontend-react/src/components/mobile/MobileFormStepper.tsx","frontend-react/src/components/mobile/MobileList.module.scss","frontend-react/src/components/mobile/MobileList.test.tsx","frontend-react/src/components/mobile/MobileList.tsx","frontend-react/src/components/mobile/PullRefresh.module.scss","frontend-react/src/components/mobile/PullRefresh.test.tsx","frontend-react/src/components/mobile/PullRefresh.tsx","frontend-react/src/components/mobile/README.md","frontend-react/src/components/mobile/SwipeAction.module.scss","frontend-react/src/components/mobile/SwipeAction.test.tsx","frontend-react/src/components/mobile/SwipeAction.tsx","frontend-react/src/components/mobile/index.ts","frontend-react/src/components/responsive/ResponsiveTabs.module.scss","frontend-react/src/components/responsive/ResponsiveTabs.test.tsx","frontend-react/src/components/responsive/ResponsiveTabs.tsx","frontend-react/src/components/responsive/index.ts","frontend-react/src/hooks/__tests__/useImRealtimeNotifications.test.tsx","frontend-react/src/hooks/index.ts","frontend-react/src/hooks/useBatchActions.ts","frontend-react/src/hooks/useFormDraft.ts","frontend-react/src/hooks/useFormSubmit.test.tsx","frontend-react/src/hooks/useFormSubmit.ts","frontend-react/src/hooks/useImRealtimeNotifications.ts","frontend-react/src/hooks/useLayout.ts","frontend-react/src/hooks/useListPage.test.tsx","frontend-react/src/hooks/useListPage.ts","frontend-react/src/hooks/usePermission.ts","frontend-react/src/hooks/useResponsive.test.tsx","frontend-react/src/hooks/useResponsive.ts","frontend-react/src/hooks/useSwipeBack.test.tsx","frontend-react/src/hooks/useSwipeBack.ts","frontend-react/src/i18n/index.test.ts","frontend-react/src/i18n/index.ts","frontend-react/src/i18n/locales/en-SG.ts","frontend-react/src/i18n/locales/en-US.ts","frontend-react/src/i18n/locales/id-ID.ts","frontend-react/src/i18n/locales/zh-CN.ts","frontend-react/src/i18n/menu-map.ts","frontend-react/src/lib/crypto/index.test.ts","frontend-react/src/lib/crypto/index.ts","frontend-react/src/lib/crypto/key-exchange.ts","frontend-react/src/lib/crypto/key-manager.ts","frontend-react/src/lib/crypto/message-crypto.ts","frontend-react/src/lib/crypto/session-key.ts","frontend-react/src/lib/crypto/storage.ts","frontend-react/src/main.tsx","frontend-react/src/router/guards.test.tsx","frontend-react/src/router/guards.tsx","frontend-react/src/router/index.tsx","frontend-react/src/router/menu.ts","frontend-react/src/router/modules/__tests__/compat-redirects.test.tsx","frontend-react/src/router/modules/__tests__/eios-retired-workflow.test.tsx","frontend-react/src/router/modules/acquisition.tsx","frontend-react/src/router/modules/ai-agents.tsx","frontend-react/src/router/modules/compat-redirects.tsx","frontend-react/src/router/modules/content-social.tsx","frontend-react/src/router/modules/dashboard.tsx","frontend-react/src/router/modules/finance.tsx","frontend-react/src/router/modules/hr.tsx","frontend-react/src/router/modules/marketing.tsx","frontend-react/src/router/modules/sales.tsx","frontend-react/src/router/modules/service.tsx","frontend-react/src/router/modules/stores.tsx","frontend-react/src/router/modules/supplemental.tsx","frontend-react/src/router/modules/supply-chain.tsx","frontend-react/src/router/modules/system.tsx","frontend-react/src/router/route-paths.ts","frontend-react/src/router/types.ts","frontend-react/src/router/view-loader.tsx","frontend-react/src/stores/__tests__/imConnection.test.ts","frontend-react/src/stores/__tests__/imConversation.test.ts","frontend-react/src/stores/__tests__/imMessage.test.ts","frontend-react/src/stores/app.ts","frontend-react/src/stores/auth.ts","frontend-react/src/stores/imConnection.ts","frontend-react/src/stores/imConversation.ts","frontend-react/src/stores/imMessage.ts","frontend-react/src/stores/index.ts","frontend-react/src/stores/layout.ts","frontend-react/src/stores/persist-compat.ts","frontend-react/src/styles/_containers.scss","frontend-react/src/styles/_dark-mode.scss","frontend-react/src/styles/_mobile-global.scss","frontend-react/src/styles/_variables.scss","frontend-react/src/styles/index.scss","frontend-react/src/styles/transitions.scss","frontend-react/src/test/setup.tsx","frontend-react/src/types/ai-agent.ts","frontend-react/src/types/common.ts","frontend-react/src/types/enums.ts","frontend-react/src/types/fetch-event-source.d.ts","frontend-react/src/types/gantt.ts","frontend-react/src/types/im-binding.ts","frontend-react/src/types/index.ts","frontend-react/src/types/mdm.ts","frontend-react/src/types/models.ts","frontend-react/src/types/process.ts","frontend-react/src/types/project-gantt.ts","frontend-react/src/utils/array-guard.test.ts","frontend-react/src/utils/array-guard.ts","frontend-react/src/utils/case-converter.test.ts","frontend-react/src/utils/case-converter.ts","frontend-react/src/utils/color.ts","frontend-react/src/utils/date.test.ts","frontend-react/src/utils/date.ts","frontend-react/src/utils/echarts.ts","frontend-react/src/utils/error.test.ts","frontend-react/src/utils/error.ts","frontend-react/src/utils/feedback.ts","frontend-react/src/utils/formatters.test.ts","frontend-react/src/utils/formatters.ts","frontend-react/src/utils/health-endpoints.test.ts","frontend-react/src/utils/health-endpoints.ts","frontend-react/src/utils/idempotency.test.ts","frontend-react/src/utils/idempotency.ts","frontend-react/src/utils/index.ts","frontend-react/src/utils/logger.test.ts","frontend-react/src/utils/logger.ts","frontend-react/src/utils/media-server-url.test.ts","frontend-react/src/utils/media-server-url.ts","frontend-react/src/utils/message-throttle.test.ts","frontend-react/src/utils/message-throttle.ts","frontend-react/src/utils/number.test.ts","frontend-react/src/utils/number.ts","frontend-react/src/utils/object-guard.test.ts","frontend-react/src/utils/object-guard.ts","frontend-react/src/utils/pdf.ts","frontend-react/src/utils/region-data.ts","frontend-react/src/utils/type-mappers.test.ts","frontend-react/src/utils/type-mappers.ts","frontend-react/src/utils/validators.test.ts","frontend-react/src/utils/validators.ts","frontend-react/src/views/Login.tsx","frontend-react/src/views/NotFound.tsx","frontend-react/src/views/__tests__/low-risk-mock-view-replacements.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch2.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch3.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch4.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch5.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch6.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch7.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch8.test.tsx","frontend-react/src/views/__tests__/mock-view-replacements-batch9.test.tsx","frontend-react/src/views/abm-marketing/Form.module.scss","frontend-react/src/views/abm-marketing/Form.tsx","frontend-react/src/views/abm-marketing/Index.module.scss","frontend-react/src/views/abm-marketing/Index.tsx","frontend-react/src/views/acquisition/Acquisition.module.scss","frontend-react/src/views/acquisition/DeepAnalysis.tsx","frontend-react/src/views/acquisition/Index.tsx","frontend-react/src/views/acquisition/__tests__/acquisition-index.test.tsx","frontend-react/src/views/acquisition/__tests__/deep-analysis.test.tsx","frontend-react/src/views/ad-accounts/AdAccounts.module.scss","frontend-react/src/views/ad-accounts/Detail.tsx","frontend-react/src/views/ad-accounts/Form.tsx","frontend-react/src/views/ad-accounts/Index.tsx","frontend-react/src/views/ad-accounts/__tests__/ad-accounts.test.tsx","frontend-react/src/views/ad-accounts/adAccountMeta.ts","frontend-react/src/views/ad-analytics/Index.module.scss","frontend-react/src/views/ad-analytics/Index.tsx","frontend-react/src/views/ad-audiences/AdAudiences.module.scss","frontend-react/src/views/ad-audiences/Detail.tsx","frontend-react/src/views/ad-audiences/Form.tsx","frontend-react/src/views/ad-audiences/Index.tsx","frontend-react/src/views/ad-audiences/__tests__/ad-audiences.test.tsx","frontend-react/src/views/ad-audiences/adAudienceMeta.ts","frontend-react/src/views/ad-biddings/AdBiddings.module.scss","frontend-react/src/views/ad-biddings/Detail.tsx","frontend-react/src/views/ad-biddings/Form.tsx","frontend-react/src/views/ad-biddings/Index.tsx","frontend-react/src/views/ad-biddings/__tests__/ad-biddings.test.tsx","frontend-react/src/views/ad-biddings/adBiddingMeta.ts","frontend-react/src/views/ad-campaigns/AdCampaigns.module.scss","frontend-react/src/views/ad-campaigns/Detail.tsx","frontend-react/src/views/ad-campaigns/Form.tsx","frontend-react/src/views/ad-campaigns/Index.tsx","frontend-react/src/views/ad-campaigns/__tests__/ad-campaigns.test.tsx","frontend-react/src/views/ad-campaigns/adCampaignMeta.ts","frontend-react/src/views/ad-creatives/AdCreatives.module.scss","frontend-react/src/views/ad-creatives/Detail.tsx","frontend-react/src/views/ad-creatives/Form.tsx","frontend-react/src/views/ad-creatives/Index.tsx","frontend-react/src/views/ad-creatives/__tests__/ad-creatives.test.tsx","frontend-react/src/views/ad-creatives/adCreativeMeta.ts","frontend-react/src/views/ad-placement/ABTests.tsx","frontend-react/src/views/ad-placement/AdPlacement.module.scss","frontend-react/src/views/ad-placement/AudiencePackForm.tsx","frontend-react/src/views/ad-placement/AudiencePacks.tsx","frontend-react/src/views/ad-placement/BudgetAlerts.tsx","frontend-react/src/views/ad-placement/CampaignForm.tsx","frontend-react/src/views/ad-placement/Creatives.tsx","frontend-react/src/views/ad-placement/Index.tsx","frontend-react/src/views/ad-placement/RoiAnalysis.tsx","frontend-react/src/views/ad-placement/__tests__/ab-tests.test.tsx","frontend-react/src/views/ad-placement/__tests__/ad-placement.test.tsx","frontend-react/src/views/ad-placement/__tests__/audience-packs.test.tsx","frontend-react/src/views/ad-placement/__tests__/budget-alerts.test.tsx","frontend-react/src/views/ad-placement/__tests__/creatives.test.tsx","frontend-react/src/views/ad-placement/__tests__/roi-analysis.test.tsx","frontend-react/src/views/ad-placement/adPlacementMeta.ts","frontend-react/src/views/ad-reports/AdReports.module.scss","frontend-react/src/views/ad-reports/Detail.tsx","frontend-react/src/views/ad-reports/Form.tsx","frontend-react/src/views/ad-reports/Index.tsx","frontend-react/src/views/ad-reports/__tests__/ad-reports.test.tsx","frontend-react/src/views/ad-reports/adReportMeta.ts","frontend-react/src/views/admin/Index.tsx","frontend-react/src/views/admin/Workbench.module.scss","frontend-react/src/views/admin/Workbench.tsx","frontend-react/src/views/admin/audit-logs/Index.module.scss","frontend-react/src/views/admin/audit-logs/Index.tsx","frontend-react/src/views/admin/components/WorkstationCalendarGantt.module.scss","frontend-react/src/views/admin/components/WorkstationCalendarGantt.tsx","frontend-react/src/views/aging-analysis/Index.module.scss","frontend-react/src/views/aging-analysis/Index.tsx","frontend-react/src/views/aging-analysis/__tests__/aging-analysis-index.test.tsx","frontend-react/src/views/ai-agents/AIAgentOpsPages.module.scss","frontend-react/src/views/ai-agents/AIAgents.module.scss","frontend-react/src/views/ai-agents/AITasksPage.module.scss","frontend-react/src/views/ai-agents/AITasksPage.tsx","frontend-react/src/views/ai-agents/AgentCorePages.tsx","frontend-react/src/views/ai-agents/AgentSessions.tsx","frontend-react/src/views/ai-agents/Create.tsx","frontend-react/src/views/ai-agents/Detail.tsx","frontend-react/src/views/ai-agents/Events.tsx","frontend-react/src/views/ai-agents/IMConversations.module.scss","frontend-react/src/views/ai-agents/IMConversations.tsx","frontend-react/src/views/ai-agents/IMIntegrationSettings.module.scss","frontend-react/src/views/ai-agents/IMIntegrationSettings.tsx","frontend-react/src/views/ai-agents/IMQueue.module.scss","frontend-react/src/views/ai-agents/IMQueue.tsx","frontend-react/src/views/ai-agents/Index.tsx","frontend-react/src/views/ai-agents/LeadCollector.tsx","frontend-react/src/views/ai-agents/Metrics.tsx","frontend-react/src/views/ai-agents/Models.tsx","frontend-react/src/views/ai-agents/Overview.tsx","frontend-react/src/views/ai-agents/Queue.tsx","frontend-react/src/views/ai-agents/Tasks.tsx","frontend-react/src/views/ai-agents/TasksPending.tsx","frontend-react/src/views/ai-agents/__tests__/ai-agent-ops-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-agents-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-autopilot-react-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/ai-tasks-review-queue.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-conversations.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-integration-settings.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-pages.test.tsx","frontend-react/src/views/ai-agents/__tests__/im-queue.test.tsx","frontend-react/src/views/ai-agents/__tests__/skill-library-index.test.tsx","frontend-react/src/views/ai-agents/autopilot/AITestCaseDetail.tsx","frontend-react/src/views/ai-agents/autopilot/AITestCases.tsx","frontend-react/src/views/ai-agents/autopilot/AITestRunDetail.tsx","frontend-react/src/views/ai-agents/autopilot/AutoGrowth.tsx","frontend-react/src/views/ai-agents/autopilot/AutoOps.tsx","frontend-react/src/views/ai-agents/autopilot/AutoPilotCorePages.tsx","frontend-react/src/views/ai-agents/autopilot/Flows.tsx","frontend-react/src/views/ai-agents/autopilot/NaturalCommand.tsx","frontend-react/src/views/ai-agents/autopilot/Overview.tsx","frontend-react/src/views/ai-agents/autopilot/RunDetail.tsx","frontend-react/src/views/ai-agents/autopilot/Runs.tsx","frontend-react/src/views/ai-agents/review-queue/Index.module.scss","frontend-react/src/views/ai-agents/review-queue/Index.tsx","frontend-react/src/views/ai-agents/shared.tsx","frontend-react/src/views/ai-agents/skill-library/Form.tsx","frontend-react/src/views/ai-agents/skill-library/Index.tsx","frontend-react/src/views/ai-copilot/Index.module.scss","frontend-react/src/views/ai-copilot/Index.tsx","frontend-react/src/views/alliance-agreements/Detail.tsx","frontend-react/src/views/alliance-agreements/Form.tsx","frontend-react/src/views/alliance-agreements/Index.tsx","frontend-react/src/views/alliance-analytics/Form.tsx","frontend-react/src/views/alliance-analytics/Index.tsx","frontend-react/src/views/alliance-campaigns/Detail.tsx","frontend-react/src/views/alliance-campaigns/Form.tsx","frontend-react/src/views/alliance-campaigns/Index.tsx","frontend-react/src/views/alliance-coupons/Detail.tsx","frontend-react/src/views/alliance-coupons/Form.tsx","frontend-react/src/views/alliance-coupons/Index.tsx","frontend-react/src/views/alliance-merchants/Form.tsx","frontend-react/src/views/alliance-merchants/Index.tsx","frontend-react/src/views/alliance-packages/Form.tsx","frontend-react/src/views/alliance-packages/Index.tsx","frontend-react/src/views/alliance-partners/Detail.tsx","frontend-react/src/views/alliance-partners/Form.tsx","frontend-react/src/views/alliance-partners/Index.tsx","frontend-react/src/views/alliance-products/Form.tsx","frontend-react/src/views/alliance-products/Index.tsx","frontend-react/src/views/alliance-promotions/Form.tsx","frontend-react/src/views/alliance-promotions/Index.tsx","frontend-react/src/views/alliance-referrals/Form.tsx","frontend-react/src/views/alliance-referrals/Index.tsx","frontend-react/src/views/alliance-settlements/Detail.tsx","frontend-react/src/views/alliance-settlements/Form.tsx","frontend-react/src/views/alliance-settlements/Index.tsx","frontend-react/src/views/alliance-shared/AlliancePages.module.scss","frontend-react/src/views/alliance-shared/AllianceResourceForm.tsx","frontend-react/src/views/alliance-shared/AllianceResourceIndex.tsx","frontend-react/src/views/alliance-shared/AllianceSettlementDetail.tsx","frontend-react/src/views/alliance-shared/__tests__/alliance-resources.test.tsx","frontend-react/src/views/alliance-shared/allianceResourceConfigs.tsx","frontend-react/src/views/alliance-shared/allianceTypes.ts","frontend-react/src/views/analytics/AnalysisWorkbench.module.scss","frontend-react/src/views/analytics/AnalysisWorkbench.tsx","frontend-react/src/views/analytics/Index.tsx","frontend-react/src/views/analytics/Queries.tsx","frontend-react/src/views/analytics/__tests__/dashboard-pending-analytics.test.tsx","frontend-react/src/views/analytics/roi/Index.module.scss","frontend-react/src/views/analytics/roi/Index.tsx","frontend-react/src/views/analytics/roi/__tests__/roi-index.test.tsx","frontend-react/src/views/ap-ledger/Index.tsx","frontend-react/src/views/ap-ledger/__tests__/ap-ledger-index.test.tsx","frontend-react/src/views/approval-configs/ApprovalConfigs.module.scss","frontend-react/src/views/approval-configs/Form.tsx","frontend-react/src/views/approval-configs/Index.tsx","frontend-react/src/views/approval-configs/__tests__/approval-configs.test.tsx","frontend-react/src/views/approval-templates/ApprovalTemplateDesigner.module.scss","frontend-react/src/views/approval-templates/ApprovalTemplates.module.scss","frontend-react/src/views/approval-templates/Form.tsx","frontend-react/src/views/approval-templates/Index.tsx","frontend-react/src/views/approval-templates/__tests__/approval-templates.test.tsx","frontend-react/src/views/approvals/Detail.module.scss","frontend-react/src/views/approvals/Detail.tsx","frontend-react/src/views/approvals/Index.module.scss","frontend-react/src/views/approvals/Index.tsx","frontend-react/src/views/approvals/__tests__/approvals-detail.test.tsx","frontend-react/src/views/approvals/__tests__/approvals-index.test.tsx","frontend-react/src/views/approvals/components/PromptDialog.module.scss","frontend-react/src/views/approvals/components/PromptDialog.tsx","frontend-react/src/views/ar-ledger/Detail.module.scss","frontend-react/src/views/ar-ledger/Detail.tsx","frontend-react/src/views/ar-ledger/Form.module.scss","frontend-react/src/views/ar-ledger/Form.tsx","frontend-react/src/views/ar-ledger/Index.module.scss","frontend-react/src/views/ar-ledger/Index.tsx","frontend-react/src/views/ar-ledger/__tests__/ar-ledger-index.test.tsx","frontend-react/src/views/ar-ledger/components/CollectionManager.module.scss","frontend-react/src/views/ar-ledger/components/CollectionManager.tsx","frontend-react/src/views/ar-ledger/components/StatementGenerator.module.scss","frontend-react/src/views/ar-ledger/components/StatementGenerator.tsx","frontend-react/src/views/ar-ledger/components/index.ts","frontend-react/src/views/assembly/Assembly.module.scss","frontend-react/src/views/assembly/AssemblyOrderForm.tsx","frontend-react/src/views/assembly/AssemblyOrderList.tsx","frontend-react/src/views/assembly/AssemblyReceiptForm.tsx","frontend-react/src/views/assembly/AssemblyReceiptList.tsx","frontend-react/src/views/assembly/BomForm.tsx","frontend-react/src/views/assembly/BomList.tsx","frontend-react/src/views/assembly/MaterialIssueForm.tsx","frontend-react/src/views/assembly/MaterialIssueList.tsx","frontend-react/src/views/assembly/__tests__/assembly-pages.test.tsx","frontend-react/src/views/assembly/assemblyMeta.ts","frontend-react/src/views/assets/Activate.module.scss","frontend-react/src/views/assets/Activate.tsx","frontend-react/src/views/assets/Detail.module.scss","frontend-react/src/views/assets/Detail.tsx","frontend-react/src/views/assets/Form.module.scss","frontend-react/src/views/assets/Form.tsx","frontend-react/src/views/assets/Index.module.scss","frontend-react/src/views/assets/Index.tsx","frontend-react/src/views/attribution-models/Form.module.scss","frontend-react/src/views/attribution-models/Form.tsx","frontend-react/src/views/attribution-models/Index.module.scss","frontend-react/src/views/attribution-models/Index.tsx","frontend-react/src/views/attribution-reports/Index.module.scss","frontend-react/src/views/attribution-reports/Index.tsx","frontend-react/src/views/attribution-reports/__tests__/attribution-reports-index.test.tsx","frontend-react/src/views/attribution/Attribution.module.scss","frontend-react/src/views/attribution/Index.tsx","frontend-react/src/views/attribution/__tests__/attribution.test.tsx","frontend-react/src/views/auth/Index.module.scss","frontend-react/src/views/auth/Index.tsx","frontend-react/src/views/bom/Detail.tsx","frontend-react/src/views/bom/Form.tsx","frontend-react/src/views/bom/Index.tsx","frontend-react/src/views/bom/__tests__/bom-legacy-routes.test.tsx","frontend-react/src/views/campaign-analytics/Index.module.scss","frontend-react/src/views/campaign-analytics/Index.tsx","frontend-react/src/views/campaign-drafts/Index.module.scss","frontend-react/src/views/campaign-drafts/Index.tsx","frontend-react/src/views/campaign-library/Index.module.scss","frontend-react/src/views/campaign-library/Index.tsx","frontend-react/src/views/campaign-library/__tests__/campaign-library-index.test.tsx","frontend-react/src/views/campaign-targets/Index.module.scss","frontend-react/src/views/campaign-targets/Index.tsx","frontend-react/src/views/campaign-targets/__tests__/campaign-targets-index.test.tsx","frontend-react/src/views/campaign-tools/Index.module.scss","frontend-react/src/views/campaign-tools/Index.tsx","frontend-react/src/views/campaign-tools/__tests__/campaign-tools-index.test.tsx","frontend-react/src/views/campaign-use-case-templates/CampaignUseCaseTemplates.module.scss","frontend-react/src/views/campaign-use-case-templates/Form.tsx","frontend-react/src/views/campaign-use-case-templates/Index.tsx","frontend-react/src/views/campaign-use-case-templates/__tests__/campaign-use-case-templates.test.tsx","frontend-react/src/views/campaigns/Detail.tsx","frontend-react/src/views/campaigns/Form.tsx","frontend-react/src/views/campaigns/Index.tsx","frontend-react/src/views/campaigns/__tests__/campaigns.test.tsx","frontend-react/src/views/campaigns/analytics/index.tsx","frontend-react/src/views/campaigns/campaignMeta.ts","frontend-react/src/views/campaigns/wizard/index.tsx","frontend-react/src/views/cash-flow/Detail.module.scss","frontend-react/src/views/cash-flow/Detail.tsx","frontend-react/src/views/cash-flow/Form.module.scss","frontend-react/src/views/cash-flow/Form.tsx","frontend-react/src/views/cash-flow/Index.module.scss","frontend-react/src/views/cash-flow/Index.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-detail.test.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-form.test.tsx","frontend-react/src/views/cash-flow/__tests__/cash-flow-index.test.tsx","frontend-react/src/views/channel-analytics/Index.module.scss","frontend-react/src/views/channel-analytics/Index.tsx","frontend-react/src/views/channels/Channels.module.scss","frontend-react/src/views/channels/Detail.tsx","frontend-react/src/views/channels/Form.tsx","frontend-react/src/views/channels/Index.tsx","frontend-react/src/views/channels/__tests__/channels-detail.test.tsx","frontend-react/src/views/channels/__tests__/channels-form.test.tsx","frontend-react/src/views/channels/__tests__/channels-index.test.tsx","frontend-react/src/views/channels/channelMeta.tsx","frontend-react/src/views/chart-of-accounts/Form.module.scss","frontend-react/src/views/chart-of-accounts/Form.tsx","frontend-react/src/views/chart-of-accounts/Index.module.scss","frontend-react/src/views/chart-of-accounts/Index.tsx","frontend-react/src/views/chart-of-accounts/__tests__/chart-of-accounts.test.tsx","frontend-react/src/views/cohort-analysis/Detail.tsx","frontend-react/src/views/cohort-analysis/Index.tsx","frontend-react/src/views/collaboration/Workbench.module.scss","frontend-react/src/views/collaboration/Workbench.tsx","frontend-react/src/views/collaboration/__tests__/collaboration-workbench.test.tsx","frontend-react/src/views/commissions/Detail.module.scss","frontend-react/src/views/commissions/Detail.tsx","frontend-react/src/views/commissions/Form.module.scss","frontend-react/src/views/commissions/Form.tsx","frontend-react/src/views/commissions/Index.module.scss","frontend-react/src/views/commissions/Index.tsx","frontend-react/src/views/commissions/__tests__/commissions-detail.test.tsx","frontend-react/src/views/commissions/__tests__/commissions-form.test.tsx","frontend-react/src/views/commissions/__tests__/commissions-index.test.tsx","frontend-react/src/views/commissions/__tests__/my-commissions-tab.test.tsx","frontend-react/src/views/commissions/__tests__/records-tab.test.tsx","frontend-react/src/views/commissions/__tests__/rules-tab.test.tsx","frontend-react/src/views/commissions/__tests__/settlements-tab.test.tsx","frontend-react/src/views/commissions/components/MyCommissionsTab.module.scss","frontend-react/src/views/commissions/components/MyCommissionsTab.tsx","frontend-react/src/views/commissions/components/RecordsTab.tsx","frontend-react/src/views/commissions/components/RulesTab.tsx","frontend-react/src/views/commissions/components/SettlementsTab.tsx","frontend-react/src/views/commissions/components/commission-tabs.module.scss","frontend-react/src/views/community-activities/CommunityActivities.module.scss","frontend-react/src/views/community-activities/Form.tsx","frontend-react/src/views/community-activities/Index.tsx","frontend-react/src/views/community-activities/__tests__/community-activities.test.tsx","frontend-react/src/views/community-activities/communityActivitiesMeta.ts","frontend-react/src/views/community-analytics/CommunityAnalytics.module.scss","frontend-react/src/views/community-analytics/Form.tsx","frontend-react/src/views/community-analytics/Index.tsx","frontend-react/src/views/community-analytics/__tests__/community-analytics.test.tsx","frontend-react/src/views/community-analytics/communityAnalyticsMeta.ts","frontend-react/src/views/community-bots/CommunityBots.module.scss","frontend-react/src/views/community-bots/Form.tsx","frontend-react/src/views/community-bots/Index.tsx","frontend-react/src/views/community-bots/__tests__/community-bots.test.tsx","frontend-react/src/views/community-bots/communityBotsMeta.ts","frontend-react/src/views/community-fission/CommunityFission.module.scss","frontend-react/src/views/community-fission/Form.tsx","frontend-react/src/views/community-fission/Index.tsx","frontend-react/src/views/community-fission/__tests__/community-fission.test.tsx","frontend-react/src/views/community-fission/communityFissionMeta.ts","frontend-react/src/views/community-gamification/Index.module.scss","frontend-react/src/views/community-gamification/Index.tsx","frontend-react/src/views/community-groups/CommunityGroups.module.scss","frontend-react/src/views/community-groups/Form.tsx","frontend-react/src/views/community-groups/Index.tsx","frontend-react/src/views/community-groups/__tests__/community-groups.test.tsx","frontend-react/src/views/community-groups/communityGroupsMeta.ts","frontend-react/src/views/community-levels/CommunityLevels.module.scss","frontend-react/src/views/community-levels/Form.tsx","frontend-react/src/views/community-levels/Index.tsx","frontend-react/src/views/community-levels/__tests__/community-levels.test.tsx","frontend-react/src/views/community-levels/communityLevelsMeta.ts","frontend-react/src/views/community-materials/CommunityMaterials.module.scss","frontend-react/src/views/community-materials/Form.tsx","frontend-react/src/views/community-materials/Index.tsx","frontend-react/src/views/community-materials/__tests__/community-materials.test.tsx","frontend-react/src/views/community-materials/communityMaterialsMeta.ts","frontend-react/src/views/community-members/CommunityMembers.module.scss","frontend-react/src/views/community-members/Form.tsx","frontend-react/src/views/community-members/Index.tsx","frontend-react/src/views/community-members/__tests__/community-members.test.tsx","frontend-react/src/views/community-members/communityMembersMeta.ts","frontend-react/src/views/community-messages/CommunityMessages.module.scss","frontend-react/src/views/community-messages/Form.tsx","frontend-react/src/views/community-messages/Index.tsx","frontend-react/src/views/community-messages/__tests__/community-messages.test.tsx","frontend-react/src/views/community-messages/communityMessagesMeta.ts","frontend-react/src/views/community-points/CommunityPoints.module.scss","frontend-react/src/views/community-points/Form.tsx","frontend-react/src/views/community-points/Index.tsx","frontend-react/src/views/community-points/__tests__/community-points.test.tsx","frontend-react/src/views/community-points/communityPointsMeta.ts","frontend-react/src/views/community-tasks/CommunityTasks.module.scss","frontend-react/src/views/community-tasks/Detail.tsx","frontend-react/src/views/community-tasks/Form.tsx","frontend-react/src/views/community-tasks/Index.tsx","frontend-react/src/views/community-tasks/__tests__/community-tasks.test.tsx","frontend-react/src/views/community-tasks/communityTasksMeta.ts","frontend-react/src/views/consumer-behavior-analytics/Index.tsx","frontend-react/src/views/content-analytics/ContentAnalytics.module.scss","frontend-react/src/views/content-analytics/Index.tsx","frontend-react/src/views/content-analytics/__tests__/content-analytics-index.test.tsx","frontend-react/src/views/content-analytics/contentAnalyticsMeta.ts","frontend-react/src/views/content-categories/ContentCategories.module.scss","frontend-react/src/views/content-categories/Form.tsx","frontend-react/src/views/content-categories/Index.tsx","frontend-react/src/views/content-categories/__tests__/content-categories-form.test.tsx","frontend-react/src/views/content-categories/__tests__/content-categories-index.test.tsx","frontend-react/src/views/content-categories/contentCategoryMeta.ts","frontend-react/src/views/content-copyright/ContentCopyright.module.scss","frontend-react/src/views/content-copyright/Form.tsx","frontend-react/src/views/content-copyright/Index.tsx","frontend-react/src/views/content-copyright/__tests__/content-copyright-form.test.tsx","frontend-react/src/views/content-copyright/__tests__/content-copyright-index.test.tsx","frontend-react/src/views/content-copyright/contentCopyrightMeta.ts","frontend-react/src/views/content-creation/ContentCreation.module.scss","frontend-react/src/views/content-creation/Form.tsx","frontend-react/src/views/content-creation/Index.tsx","frontend-react/src/views/content-creation/__tests__/content-creation-form.test.tsx","frontend-react/src/views/content-creation/__tests__/content-creation-index.test.tsx","frontend-react/src/views/content-creation/contentCreationMeta.ts","frontend-react/src/views/content-distribution/ContentDistribution.module.scss","frontend-react/src/views/content-distribution/Form.tsx","frontend-react/src/views/content-distribution/Index.tsx","frontend-react/src/views/content-distribution/__tests__/content-distribution-form.test.tsx","frontend-react/src/views/content-distribution/__tests__/content-distribution-index.test.tsx","frontend-react/src/views/content-distribution/contentDistributionMeta.ts","frontend-react/src/views/content-library/ContentLibrary.module.scss","frontend-react/src/views/content-library/Detail.tsx","frontend-react/src/views/content-library/Form.tsx","frontend-react/src/views/content-library/Index.tsx","frontend-react/src/views/content-library/__tests__/content-library-detail.test.tsx","frontend-react/src/views/content-library/__tests__/content-library-form.test.tsx","frontend-react/src/views/content-library/__tests__/content-library-index.test.tsx","frontend-react/src/views/content-library/contentLibraryMeta.ts","frontend-react/src/views/content-review/ContentReview.module.scss","frontend-react/src/views/content-review/Form.tsx","frontend-react/src/views/content-review/Index.tsx","frontend-react/src/views/content-review/__tests__/content-review-form.test.tsx","frontend-react/src/views/content-review/__tests__/content-review-index.test.tsx","frontend-react/src/views/content-review/contentReviewMeta.ts","frontend-react/src/views/content-social/Workbench.module.scss","frontend-react/src/views/content-social/Workbench.tsx","frontend-react/src/views/content-templates/ContentTemplates.module.scss","frontend-react/src/views/content-templates/Form.tsx","frontend-react/src/views/content-templates/Index.tsx","frontend-react/src/views/content-templates/__tests__/content-templates-form.test.tsx","frontend-react/src/views/content-templates/__tests__/content-templates-index.test.tsx","frontend-react/src/views/content-templates/contentTemplateMeta.ts","frontend-react/src/views/contract-templates/Detail.module.scss","frontend-react/src/views/contract-templates/Detail.tsx","frontend-react/src/views/contract-templates/Form.module.scss","frontend-react/src/views/contract-templates/Form.tsx","frontend-react/src/views/contract-templates/Index.module.scss","frontend-react/src/views/contract-templates/Index.tsx","frontend-react/src/views/contract-templates/__tests__/contract-templates.test.tsx","frontend-react/src/views/contract-templates/components/TemplatePreview.module.scss","frontend-react/src/views/contract-templates/components/TemplatePreview.tsx","frontend-react/src/views/contract-templates/components/VariablePanel.module.scss","frontend-react/src/views/contract-templates/components/VariablePanel.tsx","frontend-react/src/views/contracts/Detail.module.scss","frontend-react/src/views/contracts/Detail.tsx","frontend-react/src/views/contracts/Form.module.scss","frontend-react/src/views/contracts/Form.tsx","frontend-react/src/views/contracts/Index.module.scss","frontend-react/src/views/contracts/Index.tsx","frontend-react/src/views/contracts/__tests__/contracts-detail.test.tsx","frontend-react/src/views/contracts/__tests__/contracts-form.test.tsx","frontend-react/src/views/contracts/__tests__/contracts-index.test.tsx","frontend-react/src/views/contracts/components/DetailApprovalTab.module.scss","frontend-react/src/views/contracts/components/DetailApprovalTab.tsx","frontend-react/src/views/contracts/components/DetailAttachmentsTab.module.scss","frontend-react/src/views/contracts/components/DetailAttachmentsTab.tsx","frontend-react/src/views/contracts/components/DetailInfoTab.module.scss","frontend-react/src/views/contracts/components/DetailInfoTab.tsx","frontend-react/src/views/contracts/components/DetailRelationsTab.module.scss","frontend-react/src/views/contracts/components/DetailRelationsTab.tsx","frontend-react/src/views/contracts/components/DetailSidebar.module.scss","frontend-react/src/views/contracts/components/DetailSidebar.tsx","frontend-react/src/views/contracts/components/DetailVersionsTab.module.scss","frontend-react/src/views/contracts/components/DetailVersionsTab.tsx","frontend-react/src/views/contracts/components/FormBasicSection.module.scss","frontend-react/src/views/contracts/components/FormBasicSection.tsx","frontend-react/src/views/contracts/components/FormSignatoriesSection.module.scss","frontend-react/src/views/contracts/components/FormSignatoriesSection.tsx","frontend-react/src/views/contracts/components/FormSummarySection.module.scss","frontend-react/src/views/contracts/components/FormSummarySection.tsx","frontend-react/src/views/contracts/composables/useContractDetail.ts","frontend-react/src/views/contracts/composables/useContractForm.ts","frontend-react/src/views/conversion-paths/Index.module.scss","frontend-react/src/views/conversion-paths/Index.tsx","frontend-react/src/views/conversion-paths/__tests__/conversion-paths-index.test.tsx","frontend-react/src/views/cost-allocation/Index.module.scss","frontend-react/src/views/cost-allocation/Index.tsx","frontend-react/src/views/cost-allocation/__tests__/cost-allocation-index.test.tsx","frontend-react/src/views/cpq/Index.module.scss","frontend-react/src/views/cpq/Index.tsx","frontend-react/src/views/cpq/__tests__/cpq-index.test.tsx","frontend-react/src/views/crm-activities/Index.module.scss","frontend-react/src/views/crm-activities/Index.tsx","frontend-react/src/views/crm-activities/__tests__/crm-activities-index.test.tsx","frontend-react/src/views/cross-domain-funnel/Index.tsx","frontend-react/src/views/customer-analytics/Index.tsx","frontend-react/src/views/customer-balance/Index.module.scss","frontend-react/src/views/customer-balance/Index.tsx","frontend-react/src/views/customer-balance/__tests__/customer-balance-index.test.tsx","frontend-react/src/views/customer-health/Detail.module.scss","frontend-react/src/views/customer-health/Detail.tsx","frontend-react/src/views/customer-health/Index.module.scss","frontend-react/src/views/customer-health/Index.tsx","frontend-react/src/views/customer-journey-orchestration/Detail.tsx","frontend-react/src/views/customer-journey-orchestration/Index.tsx","frontend-react/src/views/customer-journey-orchestration/__tests__/customer-journey-orchestration.test.tsx","frontend-react/src/views/customer-journey/Detail.tsx","frontend-react/src/views/customer-journey/Index.tsx","frontend-react/src/views/customer-lifecycle-value/Index.tsx","frontend-react/src/views/customer-lifecycle-value/__tests__/customer-lifecycle-value-index.test.tsx","frontend-react/src/views/customer-ltv/Index.module.scss","frontend-react/src/views/customer-ltv/Index.tsx","frontend-react/src/views/customer-ltv/__tests__/customer-ltv-index.test.tsx","frontend-react/src/views/customer-marketing/Index.module.scss","frontend-react/src/views/customer-marketing/Index.tsx","frontend-react/src/views/customer-marketing/__tests__/customer-marketing-index.test.tsx","frontend-react/src/views/customer-marketing/components/CampaignForm.tsx","frontend-react/src/views/customer-profit/Index.tsx","frontend-react/src/views/customer-segmentation/CustomerSegmentation.module.scss","frontend-react/src/views/customer-segmentation/Form.tsx","frontend-react/src/views/customer-segmentation/Index.tsx","frontend-react/src/views/customer-segmentation/__tests__/customer-segmentation.test.tsx","frontend-react/src/views/customer-segmentation/customerSegmentationMeta.ts","frontend-react/src/views/customers/Detail.module.scss","frontend-react/src/views/customers/Detail.tsx","frontend-react/src/views/customers/Form.module.scss","frontend-react/src/views/customers/Form.tsx","frontend-react/src/views/customers/Index.module.scss","frontend-react/src/views/customers/Index.tsx","frontend-react/src/views/customers/__tests__/customers-detail.test.tsx","frontend-react/src/views/customers/__tests__/customers-form.test.tsx","frontend-react/src/views/customers/__tests__/customers-index.test.tsx","frontend-react/src/views/customers/components/DetailBasicInfo.module.scss","frontend-react/src/views/customers/components/DetailBasicInfo.tsx","frontend-react/src/views/customers/components/DetailHealthScore.module.scss","frontend-react/src/views/customers/components/DetailHealthScore.tsx","frontend-react/src/views/customers/components/DetailLifecyclePanel.module.scss","frontend-react/src/views/customers/components/DetailLifecyclePanel.tsx","frontend-react/src/views/customers/components/DetailMobile.module.scss","frontend-react/src/views/customers/components/DetailMobile.tsx","frontend-react/src/views/customers/components/DetailRecordTabs.module.scss","frontend-react/src/views/customers/components/DetailRecordTabs.tsx","frontend-react/src/views/customers/components/FormBasicInfo.module.scss","frontend-react/src/views/customers/components/FormBasicInfo.tsx","frontend-react/src/views/customers/components/FormContacts.module.scss","frontend-react/src/views/customers/components/FormContacts.tsx","frontend-react/src/views/customers/components/FormDuplicateDialog.module.scss","frontend-react/src/views/customers/components/FormDuplicateDialog.tsx","frontend-react/src/views/customers/components/FormServiceConfig.module.scss","frontend-react/src/views/customers/components/FormServiceConfig.tsx","frontend-react/src/views/customers/components/useCustomerDetail.ts","frontend-react/src/views/customers/components/useCustomerForm.ts","frontend-react/src/views/dashboard/Dashboard.module.scss","frontend-react/src/views/dashboard/Index.tsx","frontend-react/src/views/dashboard/SimpleTest.tsx","frontend-react/src/views/dashboard/__tests__/dashboard-index.test.tsx","frontend-react/src/views/dashboard/__tests__/dashboard-simple-test.test.tsx","frontend-react/src/views/departments/Detail.module.scss","frontend-react/src/views/departments/Detail.tsx","frontend-react/src/views/departments/Form.module.scss","frontend-react/src/views/departments/Form.tsx","frontend-react/src/views/departments/Index.module.scss","frontend-react/src/views/departments/Index.tsx","frontend-react/src/views/departments/__tests__/departments-index.test.tsx","frontend-react/src/views/devices/Alerts.module.scss","frontend-react/src/views/devices/Alerts.tsx","frontend-react/src/views/devices/Detail.module.scss","frontend-react/src/views/devices/Detail.tsx","frontend-react/src/views/devices/Form.module.scss","frontend-react/src/views/devices/Form.tsx","frontend-react/src/views/devices/Index.module.scss","frontend-react/src/views/devices/Index.tsx","frontend-react/src/views/devices/__tests__/devices-alerts.test.tsx","frontend-react/src/views/devices/__tests__/devices-form.test.tsx","frontend-react/src/views/devices/__tests__/devices-index.test.tsx","frontend-react/src/views/diagnosis/Index.module.scss","frontend-react/src/views/diagnosis/Index.tsx","frontend-react/src/views/diagnosis/__tests__/diagnosis-index.test.tsx","frontend-react/src/views/dictionaries/Index.module.scss","frontend-react/src/views/dictionaries/Index.tsx","frontend-react/src/views/dictionaries/__tests__/dictionaries-index.test.tsx","frontend-react/src/views/dimension-transform/Index.tsx","frontend-react/src/views/disbursements/Index.module.scss","frontend-react/src/views/disbursements/Index.tsx","frontend-react/src/views/disbursements/components/ApLedgerFormDialog.tsx","frontend-react/src/views/disbursements/components/ApLedgerTab.tsx","frontend-react/src/views/disbursements/components/ApproveDialog.tsx","frontend-react/src/views/disbursements/components/CancelDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementDetailDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementFormDialog.tsx","frontend-react/src/views/disbursements/components/DisbursementsTab.tsx","frontend-react/src/views/disbursements/components/ExecuteDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseCategoriesTab.tsx","frontend-react/src/views/disbursements/components/ExpenseCategoryFormDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseClaimFormDialog.tsx","frontend-react/src/views/disbursements/components/ExpenseClaimsTab.tsx","frontend-react/src/views/disbursements/components/MyExpenseClaimsTab.tsx","frontend-react/src/views/disbursements/components/PaymentDialog.input-range.test.tsx","frontend-react/src/views/disbursements/components/PaymentDialog.tsx","frontend-react/src/views/disbursements/components/__tests__/ap-ledger-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/disbursements-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/expense-categories-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/expense-claims-tab.test.tsx","frontend-react/src/views/disbursements/components/__tests__/my-expense-claims-tab.test.tsx","frontend-react/src/views/disbursements/components/disbursements-tabs.module.scss","frontend-react/src/views/email-marketing/EmailMarketing.module.scss","frontend-react/src/views/email-marketing/Form.tsx","frontend-react/src/views/email-marketing/Index.tsx","frontend-react/src/views/email-marketing/__tests__/email-marketing.test.tsx","frontend-react/src/views/email-templates/EmailTemplates.module.scss","frontend-react/src/views/email-templates/Form.tsx","frontend-react/src/views/email-templates/Index.tsx","frontend-react/src/views/email-templates/__tests__/email-templates-form.test.tsx","frontend-react/src/views/email-templates/__tests__/email-templates-index.test.tsx","frontend-react/src/views/event-logs/Index.module.scss","frontend-react/src/views/event-logs/Index.tsx","frontend-react/src/views/event-logs/__tests__/event-logs-index.test.tsx","frontend-react/src/views/event-subscriptions/Index.module.scss","frontend-react/src/views/event-subscriptions/Index.tsx","frontend-react/src/views/event-subscriptions/__tests__/event-subscriptions-index.test.tsx","frontend-react/src/views/event-subscriptions/components/SubscriptionForm.module.scss","frontend-react/src/views/event-subscriptions/components/SubscriptionForm.tsx","frontend-react/src/views/expense-claims/Index.tsx","frontend-react/src/views/expense-claims/__tests__/expense-claims-index.test.tsx","frontend-react/src/views/faults/Detail.module.scss","frontend-react/src/views/faults/Detail.tsx","frontend-react/src/views/faults/Form.module.scss","frontend-react/src/views/faults/Form.tsx","frontend-react/src/views/faults/Index.module.scss","frontend-react/src/views/faults/Index.tsx","frontend-react/src/views/faults/__tests__/faults-index.test.tsx","frontend-react/src/views/files/Index.module.scss","frontend-react/src/views/files/Index.tsx","frontend-react/src/views/files/__tests__/files-index.test.tsx","frontend-react/src/views/finance-os/__tests__/finance-os-governance.test.tsx","frontend-react/src/views/finance-os/ai/AIAutopilotCenter.tsx","frontend-react/src/views/finance-os/ai/AutoCreditAdjustment.tsx","frontend-react/src/views/finance-os/ai/AutoFundScheduling.tsx","frontend-react/src/views/finance-os/ai/CashForecastModel.tsx","frontend-react/src/views/finance-os/ai/DefaultProbabilityModel.tsx","frontend-react/src/views/finance-os/ai/RoiExpansionAdvisor.tsx","frontend-react/src/views/finance-os/cash/CashControlTower.tsx","frontend-react/src/views/finance-os/expense/CostAnomaly.tsx","frontend-react/src/views/finance-os/expense/CostCenter.tsx","frontend-react/src/views/finance-os/expense/ExpenseApprovalFlow.tsx","frontend-react/src/views/finance-os/expense/NodeCost.tsx","frontend-react/src/views/finance-os/expense/ProjectCost.tsx","frontend-react/src/views/finance-os/profit/ProfitAssetEngine.tsx","frontend-react/src/views/finance-os/revenue/AutoCollectionCenter.tsx","frontend-react/src/views/finance-os/revenue/PriceTypes.tsx","frontend-react/src/views/finance-os/revenue/RecognitionRules.tsx","frontend-react/src/views/finance-os/risk/RiskCreditHub.tsx","frontend-react/src/views/finance-os/shared/FinanceGovernanceShell.module.scss","frontend-react/src/views/finance-os/shared/FinanceGovernanceShell.tsx","frontend-react/src/views/finance-periods/Index.module.scss","frontend-react/src/views/finance-periods/Index.tsx","frontend-react/src/views/finance-periods/__tests__/finance-periods-index.test.tsx","frontend-react/src/views/finance/Index.module.scss","frontend-react/src/views/finance/Index.tsx","frontend-react/src/views/finance/__tests__/finance-index.test.tsx","frontend-react/src/views/financial-reports/Index.module.scss","frontend-react/src/views/financial-reports/Index.tsx","frontend-react/src/views/financial-reports/__tests__/financial-reports-index.test.tsx","frontend-react/src/views/fulfillment/AcceptanceAudit.tsx","frontend-react/src/views/fulfillment/Closures.tsx","frontend-react/src/views/fulfillment/Detail.tsx","frontend-react/src/views/fulfillment/Evaluations.tsx","frontend-react/src/views/fulfillment/Exceptions.tsx","frontend-react/src/views/fulfillment/Form.tsx","frontend-react/src/views/fulfillment/Fulfillment.module.scss","frontend-react/src/views/fulfillment/Index.tsx","frontend-react/src/views/fulfillment/PlanDetail.tsx","frontend-react/src/views/fulfillment/Plans.tsx","frontend-react/src/views/fulfillment/__tests__/fulfillment.test.tsx","frontend-react/src/views/fulfillment/fulfillmentMeta.ts","frontend-react/src/views/geo-analysis/GeoAnalysis.module.scss","frontend-react/src/views/geo-analysis/Index.tsx","frontend-react/src/views/geo-analysis/__tests__/geo-analysis-index.test.tsx","frontend-react/src/views/geo-analytics/GeoAnalytics.module.scss","frontend-react/src/views/geo-analytics/Index.tsx","frontend-react/src/views/geo-analytics/__tests__/geo-analytics.test.tsx","frontend-react/src/views/geo-analytics/geoAnalyticsMeta.ts","frontend-react/src/views/geo-fences/Detail.tsx","frontend-react/src/views/geo-fences/Form.tsx","frontend-react/src/views/geo-fences/GeoFences.module.scss","frontend-react/src/views/geo-fences/Index.tsx","frontend-react/src/views/geo-fences/__tests__/geo-fences.test.tsx","frontend-react/src/views/geo-fences/geoFencesMeta.ts","frontend-react/src/views/geo-keywords/Detail.tsx","frontend-react/src/views/geo-keywords/GeoKeywords.module.scss","frontend-react/src/views/geo-keywords/Index.tsx","frontend-react/src/views/geo-keywords/__tests__/geo-keywords.test.tsx","frontend-react/src/views/geo-keywords/geoKeywordsMeta.ts","frontend-react/src/views/geo-pois/Detail.tsx","frontend-react/src/views/geo-pois/Form.tsx","frontend-react/src/views/geo-pois/GeoPois.module.scss","frontend-react/src/views/geo-pois/Index.tsx","frontend-react/src/views/geo-pois/__tests__/geo-pois.test.tsx","frontend-react/src/views/geo-pois/geoPoisMeta.ts","frontend-react/src/views/geo-reviews/GeoReviews.module.scss","frontend-react/src/views/geo-reviews/Index.tsx","frontend-react/src/views/geo-reviews/__tests__/geo-reviews.test.tsx","frontend-react/src/views/geo-reviews/geoReviewsMeta.ts","frontend-react/src/views/groupbuy-analytics/Form.tsx","frontend-react/src/views/groupbuy-analytics/GroupbuyAnalytics.module.scss","frontend-react/src/views/groupbuy-analytics/Index.tsx","frontend-react/src/views/groupbuy-analytics/__tests__/groupbuy-analytics.test.tsx","frontend-react/src/views/groupbuy-analytics/groupbuyAnalyticsMeta.ts","frontend-react/src/views/groupbuy-campaigns/Form.tsx","frontend-react/src/views/groupbuy-campaigns/GroupbuyCampaigns.module.scss","frontend-react/src/views/groupbuy-campaigns/Index.tsx","frontend-react/src/views/groupbuy-campaigns/__tests__/groupbuy-campaigns.test.tsx","frontend-react/src/views/groupbuy-campaigns/groupbuyCampaignsMeta.ts","frontend-react/src/views/groupbuy-commissions/Detail.tsx","frontend-react/src/views/groupbuy-commissions/GroupbuyCommissions.module.scss","frontend-react/src/views/groupbuy-commissions/Index.tsx","frontend-react/src/views/groupbuy-commissions/__tests__/groupbuy-commissions.test.tsx","frontend-react/src/views/groupbuy-commissions/groupbuyCommissionsMeta.ts","frontend-react/src/views/groupbuy-influencers/Detail.tsx","frontend-react/src/views/groupbuy-influencers/Form.tsx","frontend-react/src/views/groupbuy-influencers/GroupbuyInfluencers.module.scss","frontend-react/src/views/groupbuy-influencers/Index.tsx","frontend-react/src/views/groupbuy-influencers/__tests__/groupbuy-influencers.test.tsx","frontend-react/src/views/groupbuy-influencers/groupbuyInfluencersMeta.ts","frontend-react/src/views/groupbuy-inventory/GroupbuyInventory.module.scss","frontend-react/src/views/groupbuy-inventory/Index.tsx","frontend-react/src/views/groupbuy-inventory/__tests__/groupbuy-inventory.test.tsx","frontend-react/src/views/groupbuy-orders/Detail.tsx","frontend-react/src/views/groupbuy-orders/Form.tsx","frontend-react/src/views/groupbuy-orders/GroupbuyOrders.module.scss","frontend-react/src/views/groupbuy-orders/Index.tsx","frontend-react/src/views/groupbuy-orders/__tests__/groupbuy-orders.test.tsx","frontend-react/src/views/groupbuy-orders/groupbuyOrdersMeta.ts","frontend-react/src/views/groupbuy-participants/Detail.tsx","frontend-react/src/views/groupbuy-participants/Form.tsx","frontend-react/src/views/groupbuy-participants/GroupbuyParticipants.module.scss","frontend-react/src/views/groupbuy-participants/Index.tsx","frontend-react/src/views/groupbuy-participants/__tests__/groupbuy-participants.test.tsx","frontend-react/src/views/groupbuy-participants/groupbuyParticipantsMeta.ts","frontend-react/src/views/groupbuy-platforms/Form.tsx","frontend-react/src/views/groupbuy-platforms/GroupbuyPlatforms.module.scss","frontend-react/src/views/groupbuy-platforms/Index.tsx","frontend-react/src/views/groupbuy-platforms/__tests__/groupbuy-platforms.test.tsx","frontend-react/src/views/groupbuy-pricing/Form.tsx","frontend-react/src/views/groupbuy-pricing/GroupbuyPricing.module.scss","frontend-react/src/views/groupbuy-pricing/Index.tsx","frontend-react/src/views/groupbuy-pricing/__tests__/groupbuy-pricing-form.test.tsx","frontend-react/src/views/groupbuy-pricing/__tests__/groupbuy-pricing-index.test.tsx","frontend-react/src/views/groupbuy-pricing/groupbuyPricingMeta.ts","frontend-react/src/views/groupbuy-products/Detail.tsx","frontend-react/src/views/groupbuy-products/Form.tsx","frontend-react/src/views/groupbuy-products/GroupbuyProducts.module.scss","frontend-react/src/views/groupbuy-products/Index.tsx","frontend-react/src/views/groupbuy-products/__tests__/groupbuy-products.test.tsx","frontend-react/src/views/groupbuy-products/groupbuyProductsMeta.ts","frontend-react/src/views/groupbuy-promotions/Form.tsx","frontend-react/src/views/groupbuy-promotions/GroupbuyPromotions.module.scss","frontend-react/src/views/groupbuy-promotions/Index.tsx","frontend-react/src/views/groupbuy-promotions/__tests__/groupbuy-promotions.test.tsx","frontend-react/src/views/groupbuy-promotions/groupbuyPromotionsMeta.ts","frontend-react/src/views/groupbuy-redemptions/Detail.tsx","frontend-react/src/views/groupbuy-redemptions/GroupbuyRedemptions.module.scss","frontend-react/src/views/groupbuy-redemptions/Index.tsx","frontend-react/src/views/groupbuy-redemptions/VoucherDetail.tsx","frontend-react/src/views/groupbuy-redemptions/__tests__/groupbuy-redemptions.test.tsx","frontend-react/src/views/groupbuy-redemptions/groupbuyRedemptionsMeta.ts","frontend-react/src/views/groupbuy-reviews/Detail.tsx","frontend-react/src/views/groupbuy-reviews/GroupbuyReviews.module.scss","frontend-react/src/views/groupbuy-reviews/Index.tsx","frontend-react/src/views/groupbuy-reviews/__tests__/groupbuy-reviews.test.tsx","frontend-react/src/views/groupbuy-reviews/groupbuyReviewsMeta.ts","frontend-react/src/views/groupbuy-settlements/Detail.tsx","frontend-react/src/views/groupbuy-settlements/Form.tsx","frontend-react/src/views/groupbuy-settlements/GroupbuySettlements.module.scss","frontend-react/src/views/groupbuy-settlements/Index.tsx","frontend-react/src/views/groupbuy-settlements/__tests__/groupbuy-settlements.test.tsx","frontend-react/src/views/groupbuy-settlements/groupbuySettlementsMeta.ts","frontend-react/src/views/hr/Index.module.scss","frontend-react/src/views/hr/Index.tsx","frontend-react/src/views/hr/Workbench.module.scss","frontend-react/src/views/hr/Workbench.tsx","frontend-react/src/views/hr/__tests__/attendance-index.test.tsx","frontend-react/src/views/hr/__tests__/attendance-tabs.test.tsx","frontend-react/src/views/hr/__tests__/hr-index.test.tsx","frontend-react/src/views/hr/__tests__/hr-workbench.test.tsx","frontend-react/src/views/hr/attendance/Index.module.scss","frontend-react/src/views/hr/attendance/Index.tsx","frontend-react/src/views/hr/attendance/components/AttendanceTab.tsx","frontend-react/src/views/hr/attendance/components/HolidaysTab.tsx","frontend-react/src/views/hr/attendance/components/LeavesTab.tsx","frontend-react/src/views/hr/attendance/components/OvertimeTab.tsx","frontend-react/src/views/hr/attendance/components/PromptDialog.module.scss","frontend-react/src/views/hr/attendance/components/PromptDialog.tsx","frontend-react/src/views/hr/attendance/components/SchedulesTab.tsx","frontend-react/src/views/hr/attendance/components/ShiftsTab.tsx","frontend-react/src/views/hr/attendance/components/tabs.module.scss","frontend-react/src/views/hr/benefits/Index.module.scss","frontend-react/src/views/hr/benefits/Index.tsx","frontend-react/src/views/hr/benefits/__tests__/benefits-index.test.tsx","frontend-react/src/views/hr/benefits/__tests__/claims-tab.test.tsx","frontend-react/src/views/hr/benefits/__tests__/enrollments-tab.test.tsx","frontend-react/src/views/hr/benefits/__tests__/plans-tab.test.tsx","frontend-react/src/views/hr/benefits/components/ClaimsTab.tsx","frontend-react/src/views/hr/benefits/components/EnrollmentsTab.tsx","frontend-react/src/views/hr/benefits/components/PlansTab.tsx","frontend-react/src/views/hr/benefits/components/benefits-tabs.module.scss","frontend-react/src/views/hr/payroll/Index.module.scss","frontend-react/src/views/hr/payroll/Index.tsx","frontend-react/src/views/hr/payroll/__tests__/grades-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/items-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/my-payslips-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/payroll-index.test.tsx","frontend-react/src/views/hr/payroll/__tests__/periods-tab.test.tsx","frontend-react/src/views/hr/payroll/__tests__/structures-tab.test.tsx","frontend-react/src/views/hr/payroll/components/GradesTab.tsx","frontend-react/src/views/hr/payroll/components/ItemsTab.tsx","frontend-react/src/views/hr/payroll/components/MyPayslipsTab.module.scss","frontend-react/src/views/hr/payroll/components/MyPayslipsTab.tsx","frontend-react/src/views/hr/payroll/components/PeriodsTab.tsx","frontend-react/src/views/hr/payroll/components/StructuresTab.tsx","frontend-react/src/views/hr/payroll/components/payroll-tabs.module.scss","frontend-react/src/views/hr/shared/WorkstationCalendarGantt.module.scss","frontend-react/src/views/hr/shared/WorkstationCalendarGantt.tsx","frontend-react/src/views/hr/shared/pagination.ts","frontend-react/src/views/hr/training/Index.module.scss","frontend-react/src/views/hr/training/Index.tsx","frontend-react/src/views/hr/training/components/CapabilityRadarTab.module.scss","frontend-react/src/views/hr/training/components/CapabilityRadarTab.tsx","frontend-react/src/views/hr/training/components/CertificatesTab.module.scss","frontend-react/src/views/hr/training/components/CertificatesTab.tsx","frontend-react/src/views/hr/training/components/CertificationCatalogTab.module.scss","frontend-react/src/views/hr/training/components/CertificationCatalogTab.tsx","frontend-react/src/views/hr/training/components/CoachPracticeTab.module.scss","frontend-react/src/views/hr/training/components/CoachPracticeTab.tsx","frontend-react/src/views/hr/training/components/CompetencyTab.module.scss","frontend-react/src/views/hr/training/components/CompetencyTab.tsx","frontend-react/src/views/hr/training/components/CourseMarketplaceTab.module.scss","frontend-react/src/views/hr/training/components/CourseMarketplaceTab.tsx","frontend-react/src/views/hr/training/components/CoursesTab.module.scss","frontend-react/src/views/hr/training/components/CoursesTab.tsx","frontend-react/src/views/hr/training/components/EffectDashboardTab.module.scss","frontend-react/src/views/hr/training/components/EffectDashboardTab.tsx","frontend-react/src/views/hr/training/components/ExamsTab.module.scss","frontend-react/src/views/hr/training/components/ExamsTab.tsx","frontend-react/src/views/hr/training/components/LearningPathTab.module.scss","frontend-react/src/views/hr/training/components/LearningPathTab.tsx","frontend-react/src/views/hr/training/components/LearningTab.module.scss","frontend-react/src/views/hr/training/components/LearningTab.tsx","frontend-react/src/views/hr/training/components/NineBoxTab.module.scss","frontend-react/src/views/hr/training/components/NineBoxTab.tsx","frontend-react/src/views/hr/training/components/PlansTab.module.scss","frontend-react/src/views/hr/training/components/PlansTab.tsx","frontend-react/src/views/hr/training/components/RoiDashboardTab.module.scss","frontend-react/src/views/hr/training/components/RoiDashboardTab.tsx","frontend-react/src/views/hr/training/components/SessionsTab.module.scss","frontend-react/src/views/hr/training/components/SessionsTab.tsx","frontend-react/src/views/hr/training/components/__tests__/coach-practice-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/courses-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/effect-dashboard-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/learning-path-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/nine-box-tab.test.tsx","frontend-react/src/views/hr/training/components/__tests__/sessions-tab.test.tsx","frontend-react/src/views/im/ChannelDetail.tsx","frontend-react/src/views/im/ChannelList.tsx","frontend-react/src/views/im/IM.module.scss","frontend-react/src/views/im/Index.tsx","frontend-react/src/views/im/VideoCallRoom.tsx","frontend-react/src/views/im/__tests__/im-service.test.tsx","frontend-react/src/views/im/channelMeta.ts","frontend-react/src/views/integration-services/Index.tsx","frontend-react/src/views/integration-services/__tests__/integration-services-index.test.tsx","frontend-react/src/views/inventory/AlertSettings.tsx","frontend-react/src/views/inventory/Analytics.tsx","frontend-react/src/views/inventory/CountDetail.tsx","frontend-react/src/views/inventory/Counts.tsx","frontend-react/src/views/inventory/Index.tsx","frontend-react/src/views/inventory/Inventory.module.scss","frontend-react/src/views/inventory/Reservations.tsx","frontend-react/src/views/inventory/Snapshots.tsx","frontend-react/src/views/inventory/__tests__/inventory.test.tsx","frontend-react/src/views/inventory/inventoryMeta.tsx","frontend-react/src/views/invoice-requests/Detail.tsx","frontend-react/src/views/invoice-requests/Form.tsx","frontend-react/src/views/invoice-requests/Index.module.scss","frontend-react/src/views/invoice-requests/Index.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-detail.test.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-form.test.tsx","frontend-react/src/views/invoice-requests/__tests__/invoice-requests-index.test.tsx","frontend-react/src/views/invoice-verification/Index.module.scss","frontend-react/src/views/invoice-verification/Index.tsx","frontend-react/src/views/invoice-verification/__tests__/invoice-verification-index.test.tsx","frontend-react/src/views/invoices/Detail.module.scss","frontend-react/src/views/invoices/Detail.tsx","frontend-react/src/views/invoices/Form.module.scss","frontend-react/src/views/invoices/Form.tsx","frontend-react/src/views/invoices/Index.module.scss","frontend-react/src/views/invoices/Index.tsx","frontend-react/src/views/invoices/__tests__/invoices-detail.test.tsx","frontend-react/src/views/invoices/__tests__/invoices-form.test.tsx","frontend-react/src/views/invoices/__tests__/invoices-index.test.tsx","frontend-react/src/views/invoices/components/ReasonPromptDialog.tsx","frontend-react/src/views/journal-entries/Detail.module.scss","frontend-react/src/views/journal-entries/Detail.tsx","frontend-react/src/views/journal-entries/Form.module.scss","frontend-react/src/views/journal-entries/Form.tsx","frontend-react/src/views/journal-entries/Index.module.scss","frontend-react/src/views/journal-entries/Index.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-detail.test.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-form.test.tsx","frontend-react/src/views/journal-entries/__tests__/journal-entries-index.test.tsx","frontend-react/src/views/journey-orchestration/Detail.tsx","frontend-react/src/views/journey-orchestration/Form.tsx","frontend-react/src/views/journey-orchestration/Index.tsx","frontend-react/src/views/journey-orchestration/JourneyOrchestration.module.scss","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-detail.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-form.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration-index.test.tsx","frontend-react/src/views/journey-orchestration/__tests__/journey-orchestration.test.tsx","frontend-react/src/views/journey-orchestration/journeyMeta.tsx","frontend-react/src/views/knowledge-base/KnowledgeCapture.tsx","frontend-react/src/views/knowledge-base/KnowledgeFeedback.tsx","frontend-react/src/views/knowledge-base/__tests__/knowledge-base-wrappers.test.tsx","frontend-react/src/views/knowledge-capture/Detail.module.scss","frontend-react/src/views/knowledge-capture/Detail.tsx","frontend-react/src/views/knowledge-capture/Index.module.scss","frontend-react/src/views/knowledge-capture/Index.tsx","frontend-react/src/views/knowledge-capture/__tests__/knowledge-capture-index.test.tsx","frontend-react/src/views/knowledge-capture/components/PromptDialog.module.scss","frontend-react/src/views/knowledge-capture/components/PromptDialog.tsx","frontend-react/src/views/knowledge-feedback/Index.module.scss","frontend-react/src/views/knowledge-feedback/Index.tsx","frontend-react/src/views/knowledge-feedback/__tests__/knowledge-feedback-index.test.tsx","frontend-react/src/views/knowledge/Detail.module.scss","frontend-react/src/views/knowledge/Detail.tsx","frontend-react/src/views/knowledge/Feedback.module.scss","frontend-react/src/views/knowledge/Feedback.tsx","frontend-react/src/views/knowledge/Form.module.scss","frontend-react/src/views/knowledge/Form.tsx","frontend-react/src/views/knowledge/Index.module.scss","frontend-react/src/views/knowledge/Index.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-feedback-view.test.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-form.test.tsx","frontend-react/src/views/knowledge/__tests__/knowledge-index.test.tsx","frontend-react/src/views/knowledge/components/KnowledgeGraph.module.scss","frontend-react/src/views/knowledge/components/KnowledgeGraph.tsx","frontend-react/src/views/knowledge/components/KnowledgeHeatmap.module.scss","frontend-react/src/views/knowledge/components/KnowledgeHeatmap.tsx","frontend-react/src/views/knowledge/components/KnowledgeROI.module.scss","frontend-react/src/views/knowledge/components/KnowledgeROI.tsx","frontend-react/src/views/knowledge/components/KnowledgeVersions.module.scss","frontend-react/src/views/knowledge/components/KnowledgeVersions.tsx","frontend-react/src/views/landing-pages/Form.tsx","frontend-react/src/views/landing-pages/Index.tsx","frontend-react/src/views/landing-pages/LandingPages.module.scss","frontend-react/src/views/landing-pages/__tests__/landing-pages.test.tsx","frontend-react/src/views/lead-assignment/Form.tsx","frontend-react/src/views/lead-assignment/Index.tsx","frontend-react/src/views/lead-assignment/__tests__/lead-assignment.test.tsx","frontend-react/src/views/lead-import/Index.tsx","frontend-react/src/views/lead-import/__tests__/lead-import.test.tsx","frontend-react/src/views/lead-pool/Index.tsx","frontend-react/src/views/lead-pool/__tests__/lead-pool.test.tsx","frontend-react/src/views/lead-pools/Detail.tsx","frontend-react/src/views/lead-pools/Form.tsx","frontend-react/src/views/lead-pools/Index.tsx","frontend-react/src/views/lead-pools/LeadPools.module.scss","frontend-react/src/views/lead-pools/__tests__/lead-pools.test.tsx","frontend-react/src/views/lead-pools/helpers.ts","frontend-react/src/views/lead-qualification/Index.module.scss","frontend-react/src/views/lead-qualification/Index.tsx","frontend-react/src/views/lead-qualification/__tests__/lead-qualification-index.test.tsx","frontend-react/src/views/lead-scoring-ai/BatchPredict.tsx","frontend-react/src/views/lead-scoring-ai/Index.tsx","frontend-react/src/views/lead-scoring-ai/LeadScoringAI.module.scss","frontend-react/src/views/lead-scoring-ai/ModelDetail.tsx","frontend-react/src/views/lead-scoring-ai/__tests__/lead-scoring-ai.test.tsx","frontend-react/src/views/lead-scoring/Form.tsx","frontend-react/src/views/lead-scoring/Index.tsx","frontend-react/src/views/lead-scoring/__tests__/lead-scoring.test.tsx","frontend-react/src/views/leads/Assignment.module.scss","frontend-react/src/views/leads/Assignment.tsx","frontend-react/src/views/leads/Detail.module.scss","frontend-react/src/views/leads/Detail.tsx","frontend-react/src/views/leads/Form.module.scss","frontend-react/src/views/leads/Form.tsx","frontend-react/src/views/leads/Index.module.scss","frontend-react/src/views/leads/Index.tsx","frontend-react/src/views/leads/__tests__/lead-convert-dialog.test.tsx","frontend-react/src/views/leads/__tests__/leads-assignment.test.tsx","frontend-react/src/views/leads/__tests__/leads-form.test.tsx","frontend-react/src/views/leads/__tests__/leads-index.test.tsx","frontend-react/src/views/leads/useLeadCenterContext.ts","frontend-react/src/views/livestream-analytics/Form.tsx","frontend-react/src/views/livestream-analytics/Index.tsx","frontend-react/src/views/livestream-analytics/LivestreamAnalytics.module.scss","frontend-react/src/views/livestream-analytics/__tests__/livestream-analytics-form.test.tsx","frontend-react/src/views/livestream-analytics/__tests__/livestream-analytics-index.test.tsx","frontend-react/src/views/livestream-analytics/livestreamAnalyticsMeta.ts","frontend-react/src/views/livestream-gifts/Form.tsx","frontend-react/src/views/livestream-gifts/Index.tsx","frontend-react/src/views/livestream-gifts/LivestreamGifts.module.scss","frontend-react/src/views/livestream-gifts/__tests__/livestream-gifts-form.test.tsx","frontend-react/src/views/livestream-gifts/__tests__/livestream-gifts-index.test.tsx","frontend-react/src/views/livestream-gifts/livestreamGiftsMeta.ts","frontend-react/src/views/livestream-groupbuy-conversion/Index.tsx","frontend-react/src/views/livestream-groupbuy-conversion/LivestreamGroupbuyConversion.module.scss","frontend-react/src/views/livestream-groupbuy-conversion/__tests__/livestream-groupbuy-conversion-index.test.tsx","frontend-react/src/views/livestream-interactions/Form.tsx","frontend-react/src/views/livestream-interactions/Index.tsx","frontend-react/src/views/livestream-interactions/LivestreamInteractions.module.scss","frontend-react/src/views/livestream-interactions/__tests__/livestream-interactions-form.test.tsx","frontend-react/src/views/livestream-interactions/__tests__/livestream-interactions-index.test.tsx","frontend-react/src/views/livestream-interactions/livestreamInteractionsMeta.ts","frontend-react/src/views/livestream-products/Form.tsx","frontend-react/src/views/livestream-products/Index.tsx","frontend-react/src/views/livestream-products/LivestreamProducts.module.scss","frontend-react/src/views/livestream-products/__tests__/livestream-products-form.test.tsx","frontend-react/src/views/livestream-products/__tests__/livestream-products-index.test.tsx","frontend-react/src/views/livestream-products/livestreamProductsMeta.ts","frontend-react/src/views/livestream-rooms/Detail.tsx","frontend-react/src/views/livestream-rooms/Form.tsx","frontend-react/src/views/livestream-rooms/Index.tsx","frontend-react/src/views/livestream-rooms/LivestreamRooms.module.scss","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-detail.test.tsx","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-form.test.tsx","frontend-react/src/views/livestream-rooms/__tests__/livestream-rooms-index.test.tsx","frontend-react/src/views/livestream-rooms/livestreamRoomsMeta.ts","frontend-react/src/views/livestream-schedules/Form.tsx","frontend-react/src/views/livestream-schedules/Index.tsx","frontend-react/src/views/livestream-schedules/LivestreamSchedules.module.scss","frontend-react/src/views/livestream-schedules/__tests__/livestream-schedules-form.test.tsx","frontend-react/src/views/livestream-schedules/__tests__/livestream-schedules-index.test.tsx","frontend-react/src/views/livestream-schedules/livestreamSchedulesMeta.ts","frontend-react/src/views/livestream-scripts/Form.tsx","frontend-react/src/views/livestream-scripts/Index.tsx","frontend-react/src/views/livestream-scripts/LivestreamScripts.module.scss","frontend-react/src/views/livestream-scripts/__tests__/livestream-scripts-form.test.tsx","frontend-react/src/views/livestream-scripts/__tests__/livestream-scripts-index.test.tsx","frontend-react/src/views/livestream-scripts/livestreamScriptsMeta.ts","frontend-react/src/views/local-events/Form.module.scss","frontend-react/src/views/local-events/Form.tsx","frontend-react/src/views/local-events/Index.module.scss","frontend-react/src/views/local-events/Index.tsx","frontend-react/src/views/local-promotion/Form.module.scss","frontend-react/src/views/local-promotion/Form.tsx","frontend-react/src/views/local-promotion/Index.module.scss","frontend-react/src/views/local-promotion/Index.tsx","frontend-react/src/views/location-assessments/Detail.tsx","frontend-react/src/views/location-assessments/Form.tsx","frontend-react/src/views/location-assessments/Index.tsx","frontend-react/src/views/location-assessments/LocationAssessments.module.scss","frontend-react/src/views/location-assessments/Score.tsx","frontend-react/src/views/location-assessments/__tests__/location-assessments.test.tsx","frontend-react/src/views/location-assessments/locationAssessmentMeta.ts","frontend-react/src/views/login-logs/Index.tsx","frontend-react/src/views/login-logs/__tests__/login-logs-index.test.tsx","frontend-react/src/views/marketing-automation/Form.tsx","frontend-react/src/views/marketing-automation/Index.tsx","frontend-react/src/views/marketing-automation/MarketingAutomation.module.scss","frontend-react/src/views/marketing-automation/__tests__/marketing-automation.test.tsx","frontend-react/src/views/marketing-calendar/Index.module.scss","frontend-react/src/views/marketing-calendar/Index.tsx","frontend-react/src/views/marketing-calendar/__tests__/format-agenda-date.test.ts","frontend-react/src/views/marketing-calendar/__tests__/marketing-calendar-index.test.tsx","frontend-react/src/views/marketing-calendar/components/CalendarAgendaView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarAgendaView.tsx","frontend-react/src/views/marketing-calendar/components/CalendarMonthView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarMonthView.tsx","frontend-react/src/views/marketing-calendar/components/CalendarWeekView.module.scss","frontend-react/src/views/marketing-calendar/components/CalendarWeekView.tsx","frontend-react/src/views/marketing-calendar/components/EventDetailDrawer.module.scss","frontend-react/src/views/marketing-calendar/components/EventDetailDrawer.tsx","frontend-react/src/views/marketing-calendar/components/EventFormDialog.tsx","frontend-react/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend-react/src/views/marketing-chatbot/Index.tsx","frontend-react/src/views/marketing-chatbot/MarketingChatbot.module.scss","frontend-react/src/views/marketing-chatbot/__tests__/marketing-chatbot.test.tsx","frontend-react/src/views/marketing-content/ContentForm.module.scss","frontend-react/src/views/marketing-content/ContentForm.tsx","frontend-react/src/views/marketing-content/Index.module.scss","frontend-react/src/views/marketing-content/Index.tsx","frontend-react/src/views/marketing-content/__tests__/marketing-content-index.test.tsx","frontend-react/src/views/marketing-forms/Form.tsx","frontend-react/src/views/marketing-forms/Index.tsx","frontend-react/src/views/marketing-forms/MarketingForms.module.scss","frontend-react/src/views/marketing-forms/__tests__/marketing-forms.test.tsx","frontend-react/src/views/marketing-matrix/AccountForm.module.scss","frontend-react/src/views/marketing-matrix/AccountForm.tsx","frontend-react/src/views/marketing-matrix/Index.module.scss","frontend-react/src/views/marketing-matrix/Index.tsx","frontend-react/src/views/marketing-matrix/__tests__/marketing-matrix-index.test.tsx","frontend-react/src/views/marketing-north-star/Index.module.scss","frontend-react/src/views/marketing-north-star/Index.tsx","frontend-react/src/views/marketing-north-star/__tests__/marketing-north-star-index.test.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarAlerts.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarAlerts.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarDashboard.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarDashboard.tsx","frontend-react/src/views/marketing-north-star/components/NorthStarMetricForm.module.scss","frontend-react/src/views/marketing-north-star/components/NorthStarMetricForm.tsx","frontend-react/src/views/marketing-timeslots/Index.module.scss","frontend-react/src/views/marketing-timeslots/Index.tsx","frontend-react/src/views/marketing-timeslots/__tests__/marketing-timeslots-index.test.tsx","frontend-react/src/views/marketing-tools/Detail.tsx","frontend-react/src/views/marketing-tools/Form.tsx","frontend-react/src/views/marketing-tools/Index.tsx","frontend-react/src/views/marketing-tools/MarketingTools.module.scss","frontend-react/src/views/marketing-tools/__tests__/marketing-tools.test.tsx","frontend-react/src/views/marketing-tools/marketingToolsMeta.ts","frontend-react/src/views/marketing/Index.module.scss","frontend-react/src/views/marketing/Index.tsx","frontend-react/src/views/marketing/__tests__/marketing-index.test.tsx","frontend-react/src/views/marketing/budget-alerts/Index.module.scss","frontend-react/src/views/marketing/budget-alerts/Index.tsx","frontend-react/src/views/marketing/budget-alerts/__tests__/budget-alerts-index.test.tsx","frontend-react/src/views/mdm/Index.module.scss","frontend-react/src/views/mdm/Index.tsx","frontend-react/src/views/mdm/__tests__/mdm-index.test.tsx","frontend-react/src/views/mdm/useMdmStore.ts","frontend-react/src/views/meddpicc-analyses/Index.module.scss","frontend-react/src/views/meddpicc-analyses/Index.tsx","frontend-react/src/views/meddpicc-analyses/__tests__/meddpicc-analyses-index.test.tsx","frontend-react/src/views/member-benefits/Form.tsx","frontend-react/src/views/member-benefits/Index.tsx","frontend-react/src/views/member-benefits/MemberBenefits.module.scss","frontend-react/src/views/member-benefits/__tests__/member-benefits-form.test.tsx","frontend-react/src/views/member-benefits/__tests__/member-benefits-index.test.tsx","frontend-react/src/views/member-benefits/memberBenefitsMeta.ts","frontend-react/src/views/member-levels/Form.tsx","frontend-react/src/views/member-levels/Index.tsx","frontend-react/src/views/member-levels/MemberLevels.module.scss","frontend-react/src/views/member-levels/__tests__/member-levels-form.test.tsx","frontend-react/src/views/member-levels/__tests__/member-levels-index.test.tsx","frontend-react/src/views/member-levels/memberLevelsMeta.ts","frontend-react/src/views/member-points/Index.module.scss","frontend-react/src/views/member-points/Index.tsx","frontend-react/src/views/members/Form.module.scss","frontend-react/src/views/members/Form.tsx","frontend-react/src/views/members/Index.module.scss","frontend-react/src/views/members/Index.tsx","frontend-react/src/views/members/__tests__/members-form.test.tsx","frontend-react/src/views/members/__tests__/members-index.test.tsx","frontend-react/src/views/menus/Index.tsx","frontend-react/src/views/menus/__tests__/menus-index.test.tsx","frontend-react/src/views/metric-tree/Index.module.scss","frontend-react/src/views/metric-tree/Index.tsx","frontend-react/src/views/metric-tree/__tests__/metric-tree-index.test.tsx","frontend-react/src/views/mobile-prototype/Index.module.scss","frontend-react/src/views/mobile-prototype/Index.test.tsx","frontend-react/src/views/mobile-prototype/Index.tsx","frontend-react/src/views/notification-configs/Form.module.scss","frontend-react/src/views/notification-configs/Form.tsx","frontend-react/src/views/notification-configs/Index.module.scss","frontend-react/src/views/notification-configs/Index.tsx","frontend-react/src/views/notification-configs/__tests__/notification-configs-form.test.tsx","frontend-react/src/views/notification-configs/__tests__/notification-configs-index.test.tsx","frontend-react/src/views/notification-configs/shared.ts","frontend-react/src/views/notifications/Index.module.scss","frontend-react/src/views/notifications/Index.tsx","frontend-react/src/views/notifications/__tests__/notifications-index.test.tsx","frontend-react/src/views/omnichannel-dashboard/Index.tsx","frontend-react/src/views/omnichannel-data-hub/Index.tsx","frontend-react/src/views/omnichannel-touchpoints/Index.tsx","frontend-react/src/views/operation-logs/Index.tsx","frontend-react/src/views/operation-logs/__tests__/operation-logs-index.test.tsx","frontend-react/src/views/opportunities/Detail.module.scss","frontend-react/src/views/opportunities/Detail.tsx","frontend-react/src/views/opportunities/Form.module.scss","frontend-react/src/views/opportunities/Form.tsx","frontend-react/src/views/opportunities/Index.module.scss","frontend-react/src/views/opportunities/Index.tsx","frontend-react/src/views/opportunities/Pipeline.module.scss","frontend-react/src/views/opportunities/Pipeline.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-detail.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-form.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-index.test.tsx","frontend-react/src/views/opportunities/__tests__/opportunities-pipeline.test.tsx","frontend-react/src/views/opportunities/components/AICopilotSidebar.module.scss","frontend-react/src/views/opportunities/components/AICopilotSidebar.tsx","frontend-react/src/views/opportunities/components/DetailBasicInfo.module.scss","frontend-react/src/views/opportunities/components/DetailBasicInfo.tsx","frontend-react/src/views/opportunities/components/DetailCollaboration.module.scss","frontend-react/src/views/opportunities/components/DetailCollaboration.tsx","frontend-react/src/views/opportunities/components/DetailCompetitors.module.scss","frontend-react/src/views/opportunities/components/DetailCompetitors.tsx","frontend-react/src/views/opportunities/components/DetailDialogs.module.scss","frontend-react/src/views/opportunities/components/DetailDialogs.tsx","frontend-react/src/views/opportunities/components/DetailFollowups.module.scss","frontend-react/src/views/opportunities/components/DetailFollowups.tsx","frontend-react/src/views/opportunities/components/DetailHeader.module.scss","frontend-react/src/views/opportunities/components/DetailHeader.tsx","frontend-react/src/views/opportunities/components/DetailMeddpicc.module.scss","frontend-react/src/views/opportunities/components/DetailMeddpicc.tsx","frontend-react/src/views/opportunities/components/DetailProducts.module.scss","frontend-react/src/views/opportunities/components/DetailProducts.tsx","frontend-react/src/views/opportunities/components/DetailQuotes.module.scss","frontend-react/src/views/opportunities/components/DetailQuotes.tsx","frontend-react/src/views/opportunities/components/DetailSamples.module.scss","frontend-react/src/views/opportunities/components/DetailSamples.tsx","frontend-react/src/views/opportunities/components/DetailSidebar.module.scss","frontend-react/src/views/opportunities/components/DetailSidebar.tsx","frontend-react/src/views/opportunities/components/DetailStageProgress.module.scss","frontend-react/src/views/opportunities/components/DetailStageProgress.tsx","frontend-react/src/views/opportunities/components/DetailTeam.module.scss","frontend-react/src/views/opportunities/components/DetailTeam.tsx","frontend-react/src/views/opportunities/components/SalesCoachDialog.module.scss","frontend-react/src/views/opportunities/components/SalesCoachDialog.tsx","frontend-react/src/views/opportunities/components/useOpportunityDetail.ts","frontend-react/src/views/orders/Detail.tsx","frontend-react/src/views/orders/Form.tsx","frontend-react/src/views/orders/Index.module.scss","frontend-react/src/views/orders/Index.tsx","frontend-react/src/views/orders/__tests__/orders-detail.test.tsx","frontend-react/src/views/orders/__tests__/orders-form.test.tsx","frontend-react/src/views/orders/__tests__/orders-index.test.tsx","frontend-react/src/views/orders/components/DetailDesktop.module.scss","frontend-react/src/views/orders/components/DetailDesktop.tsx","frontend-react/src/views/orders/components/DetailMobile.module.scss","frontend-react/src/views/orders/components/DetailMobile.tsx","frontend-react/src/views/orders/components/FormDesktop.module.scss","frontend-react/src/views/orders/components/FormDesktop.tsx","frontend-react/src/views/orders/components/FormMobile.module.scss","frontend-react/src/views/orders/components/FormMobile.tsx","frontend-react/src/views/orders/hooks/useOrderDetail.ts","frontend-react/src/views/orders/hooks/useOrderForm.ts","frontend-react/src/views/orders/hooks/useOrderTimeline.ts","frontend-react/src/views/org-chart/Index.module.scss","frontend-react/src/views/org-chart/Index.tsx","frontend-react/src/views/org-chart/__tests__/org-chart-index.test.tsx","frontend-react/src/views/partner-customers/Detail.tsx","frontend-react/src/views/partner-customers/Form.tsx","frontend-react/src/views/partner-customers/Index.tsx","frontend-react/src/views/partner-customers/PartnerCustomers.module.scss","frontend-react/src/views/partner-customers/__tests__/partner-customers-detail.test.tsx","frontend-react/src/views/partner-customers/__tests__/partner-customers-form.test.tsx","frontend-react/src/views/partner-customers/__tests__/partner-customers-index.test.tsx","frontend-react/src/views/partner-customers/partnerCustomerMeta.ts","frontend-react/src/views/partners/Detail.tsx","frontend-react/src/views/partners/Form.tsx","frontend-react/src/views/partners/Index.tsx","frontend-react/src/views/partners/Partners.module.scss","frontend-react/src/views/partners/__tests__/partners-detail.test.tsx","frontend-react/src/views/partners/__tests__/partners-form.test.tsx","frontend-react/src/views/partners/__tests__/partners-index.test.tsx","frontend-react/src/views/partners/partnerMeta.ts","frontend-react/src/views/payment-analytics/Index.module.scss","frontend-react/src/views/payment-analytics/Index.tsx","frontend-react/src/views/payment-analytics/__tests__/payment-analytics-index.test.tsx","frontend-react/src/views/payment-plans/Index.module.scss","frontend-react/src/views/payment-plans/Index.tsx","frontend-react/src/views/payment-plans/__tests__/payment-plans-index.test.tsx","frontend-react/src/views/payments/Index.module.scss","frontend-react/src/views/payments/Index.tsx","frontend-react/src/views/payments/PlanForm.module.scss","frontend-react/src/views/payments/PlanForm.tsx","frontend-react/src/views/payments/Reconcile.module.scss","frontend-react/src/views/payments/Reconcile.tsx","frontend-react/src/views/payments/RecordForm.module.scss","frontend-react/src/views/payments/RecordForm.tsx","frontend-react/src/views/payments/__tests__/payments-index.test.tsx","frontend-react/src/views/payments/__tests__/payments-plan-form.test.tsx","frontend-react/src/views/payments/__tests__/payments-reconcile.test.tsx","frontend-react/src/views/payments/__tests__/payments-record-form.test.tsx","frontend-react/src/views/pm/Calendar.tsx","frontend-react/src/views/pm/Detail.tsx","frontend-react/src/views/pm/Form.tsx","frontend-react/src/views/pm/Index.tsx","frontend-react/src/views/pm/PM.module.scss","frontend-react/src/views/pm/__tests__/pm-calendar.test.tsx","frontend-react/src/views/pm/__tests__/pm-detail.test.tsx","frontend-react/src/views/pm/__tests__/pm-form.test.tsx","frontend-react/src/views/pm/__tests__/pm-index.test.tsx","frontend-react/src/views/pm/pmMeta.ts","frontend-react/src/views/positions/Detail.tsx","frontend-react/src/views/positions/Index.tsx","frontend-react/src/views/positions/PositionTree.module.scss","frontend-react/src/views/positions/PositionTree.tsx","frontend-react/src/views/positions/__tests__/position-tree.test.tsx","frontend-react/src/views/positions/__tests__/positions-index-detail.test.tsx","frontend-react/src/views/predictive-analytics/Detail.tsx","frontend-react/src/views/predictive-analytics/Form.tsx","frontend-react/src/views/predictive-analytics/Index.tsx","frontend-react/src/views/predictive-analytics/PredictiveAnalytics.module.scss","frontend-react/src/views/predictive-analytics/__tests__/predictive-analytics.test.tsx","frontend-react/src/views/predictive-analytics/constants.ts","frontend-react/src/views/price-books/Detail.module.scss","frontend-react/src/views/price-books/Detail.tsx","frontend-react/src/views/price-books/Form.module.scss","frontend-react/src/views/price-books/Form.tsx","frontend-react/src/views/price-books/Index.module.scss","frontend-react/src/views/price-books/Index.tsx","frontend-react/src/views/price-books/__tests__/price-books-basic.test.tsx","frontend-react/src/views/process-designer/Designer.module.scss","frontend-react/src/views/process-designer/Designer.tsx","frontend-react/src/views/process-designer/ProcessList.module.scss","frontend-react/src/views/process-designer/ProcessList.tsx","frontend-react/src/views/process-designer/__tests__/designer.test.tsx","frontend-react/src/views/process-designer/__tests__/process-list.test.tsx","frontend-react/src/views/process-designer/components/BpmnValidator.ts","frontend-react/src/views/process-designer/components/HistoryManager.ts","frontend-react/src/views/process-designer/components/PromptDialog.module.scss","frontend-react/src/views/process-designer/components/PromptDialog.tsx","frontend-react/src/views/process-designer/utils/bpmn-export.ts","frontend-react/src/views/product-analytics/Index.tsx","frontend-react/src/views/product-categories/Index.module.scss","frontend-react/src/views/product-categories/Index.tsx","frontend-react/src/views/product-categories/__tests__/product-categories-index.test.tsx","frontend-react/src/views/products/Categories.tsx","frontend-react/src/views/products/Detail.tsx","frontend-react/src/views/products/Form.tsx","frontend-react/src/views/products/Index.tsx","frontend-react/src/views/products/LowStockAlert.tsx","frontend-react/src/views/products/Products.module.scss","frontend-react/src/views/products/__tests__/product-categories.test.tsx","frontend-react/src/views/products/__tests__/products-form.test.tsx","frontend-react/src/views/products/__tests__/products-index.test.tsx","frontend-react/src/views/profile/Index.module.scss","frontend-react/src/views/profile/Index.tsx","frontend-react/src/views/profile/__tests__/profile-index.test.tsx","frontend-react/src/views/profile/components/NotificationSettings.module.scss","frontend-react/src/views/profile/components/NotificationSettings.tsx","frontend-react/src/views/profile/components/ProfileSettings.module.scss","frontend-react/src/views/profile/components/ProfileSettings.tsx","frontend-react/src/views/projects/Calendar.module.scss","frontend-react/src/views/projects/Calendar.tsx","frontend-react/src/views/projects/Detail.module.scss","frontend-react/src/views/projects/Detail.tsx","frontend-react/src/views/projects/Gantt.module.scss","frontend-react/src/views/projects/Gantt.tsx","frontend-react/src/views/projects/GlobalGantt.module.scss","frontend-react/src/views/projects/GlobalGantt.tsx","frontend-react/src/views/projects/Index.module.scss","frontend-react/src/views/projects/Index.tsx","frontend-react/src/views/projects/Milestones.module.scss","frontend-react/src/views/projects/Milestones.tsx","frontend-react/src/views/projects/Tasks.module.scss","frontend-react/src/views/projects/Tasks.tsx","frontend-react/src/views/projects/__tests__/dependency-dialog.test.tsx","frontend-react/src/views/projects/__tests__/gantt-data-transform.test.ts","frontend-react/src/views/projects/__tests__/gantt-dependency-line.test.ts","frontend-react/src/views/projects/__tests__/gantt-view-compute.test.ts","frontend-react/src/views/projects/__tests__/global-gantt.test.tsx","frontend-react/src/views/projects/__tests__/projects-calendar.test.tsx","frontend-react/src/views/projects/__tests__/projects-detail.test.tsx","frontend-react/src/views/projects/__tests__/projects-gantt.test.tsx","frontend-react/src/views/projects/__tests__/projects-index.test.tsx","frontend-react/src/views/projects/__tests__/projects-milestones.test.tsx","frontend-react/src/views/projects/__tests__/projects-tasks.test.tsx","frontend-react/src/views/projects/components/gantt/DependencyDialog.module.scss","frontend-react/src/views/projects/components/gantt/DependencyDialog.tsx","frontend-react/src/views/projects/components/gantt/ProjectGanttChart.module.scss","frontend-react/src/views/projects/components/gantt/ProjectGanttChart.tsx","frontend-react/src/views/projects/components/gantt/ProjectGanttToolbar.module.scss","frontend-react/src/views/projects/components/gantt/ProjectGanttToolbar.tsx","frontend-react/src/views/projects/components/gantt/hooks/useDependencyLine.ts","frontend-react/src/views/projects/components/gantt/hooks/useProjectGanttData.ts","frontend-react/src/views/projects/hooks/useGanttView.ts","frontend-react/src/views/public/PublicLanding.css","frontend-react/src/views/public/PublicLanding.tsx","frontend-react/src/views/public/__tests__/public-landing.test.tsx","frontend-react/src/views/purchase-orders/Detail.tsx","frontend-react/src/views/purchase-orders/Form.tsx","frontend-react/src/views/purchase-orders/Index.tsx","frontend-react/src/views/purchase-orders/PurchaseOrders.module.scss","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-detail.test.tsx","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-form.test.tsx","frontend-react/src/views/purchase-orders/__tests__/purchase-orders-index.test.tsx","frontend-react/src/views/purchase-orders/purchaseOrderMeta.ts","frontend-react/src/views/qr-codes/Form.tsx","frontend-react/src/views/qr-codes/Index.tsx","frontend-react/src/views/qr-codes/QrCodes.module.scss","frontend-react/src/views/qr-codes/__tests__/qr-codes-form.test.tsx","frontend-react/src/views/qr-codes/__tests__/qr-codes-index.test.tsx","frontend-react/src/views/qr-codes/qrCodesMeta.ts","frontend-react/src/views/quotes/Approval.module.scss","frontend-react/src/views/quotes/Approval.tsx","frontend-react/src/views/quotes/Detail.module.scss","frontend-react/src/views/quotes/Detail.tsx","frontend-react/src/views/quotes/Editor.module.scss","frontend-react/src/views/quotes/Editor.tsx","frontend-react/src/views/quotes/Form.module.scss","frontend-react/src/views/quotes/Form.tsx","frontend-react/src/views/quotes/Index.module.scss","frontend-react/src/views/quotes/Index.tsx","frontend-react/src/views/quotes/__tests__/form-calculation.test.ts","frontend-react/src/views/quotes/__tests__/quotes-approval.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-detail.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-editor.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-form.test.tsx","frontend-react/src/views/quotes/__tests__/quotes-index.test.tsx","frontend-react/src/views/quotes/components/QuotePromptDialog.module.scss","frontend-react/src/views/quotes/components/QuotePromptDialog.tsx","frontend-react/src/views/quotes/composables/usePromptDialog.ts","frontend-react/src/views/quotes/form-calculation.ts","frontend-react/src/views/realtime-trigger/Detail.tsx","frontend-react/src/views/realtime-trigger/Form.tsx","frontend-react/src/views/realtime-trigger/Index.tsx","frontend-react/src/views/realtime-trigger/RealtimeTrigger.module.scss","frontend-react/src/views/realtime-trigger/__tests__/realtime-trigger.test.tsx","frontend-react/src/views/realtime/Index.module.scss","frontend-react/src/views/realtime/Index.tsx","frontend-react/src/views/realtime/__tests__/realtime-index.test.tsx","frontend-react/src/views/reconciliation/Detail.module.scss","frontend-react/src/views/reconciliation/Detail.tsx","frontend-react/src/views/reconciliation/Form.module.scss","frontend-react/src/views/reconciliation/Form.tsx","frontend-react/src/views/reconciliation/Index.module.scss","frontend-react/src/views/reconciliation/Index.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-detail.test.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-form.test.tsx","frontend-react/src/views/reconciliation/__tests__/reconciliation-index.test.tsx","frontend-react/src/views/reconciliation/components/ImportStatementDialog.module.scss","frontend-react/src/views/reconciliation/components/ImportStatementDialog.tsx","frontend-react/src/views/redemptions/Index.tsx","frontend-react/src/views/renewal-tasks/Detail.module.scss","frontend-react/src/views/renewal-tasks/Detail.tsx","frontend-react/src/views/renewal-tasks/Form.module.scss","frontend-react/src/views/renewal-tasks/Form.tsx","frontend-react/src/views/renewal-tasks/Index.module.scss","frontend-react/src/views/renewal-tasks/Index.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-detail.test.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-form.test.tsx","frontend-react/src/views/renewal-tasks/__tests__/renewal-tasks-index.test.tsx","frontend-react/src/views/renewals/Detail.module.scss","frontend-react/src/views/renewals/Detail.tsx","frontend-react/src/views/renewals/Form.module.scss","frontend-react/src/views/renewals/Form.tsx","frontend-react/src/views/renewals/Index.module.scss","frontend-react/src/views/renewals/Index.tsx","frontend-react/src/views/renewals/__tests__/renewals-detail.test.tsx","frontend-react/src/views/renewals/__tests__/renewals-form.test.tsx","frontend-react/src/views/renewals/__tests__/renewals-index.test.tsx","frontend-react/src/views/reports/Detail.tsx","frontend-react/src/views/reports/Index.tsx","frontend-react/src/views/reports/Reports.module.scss","frontend-react/src/views/reports/Schedules.tsx","frontend-react/src/views/reports/Templates.tsx","frontend-react/src/views/reports/__tests__/reports.test.tsx","frontend-react/src/views/reports/reportMeta.ts","frontend-react/src/views/resource-requests/Detail.module.scss","frontend-react/src/views/resource-requests/Detail.tsx","frontend-react/src/views/resource-requests/Form.module.scss","frontend-react/src/views/resource-requests/Form.tsx","frontend-react/src/views/resource-requests/__tests__/resource-requests-index.test.tsx","frontend-react/src/views/resource-requests/components/PromptDialog.module.scss","frontend-react/src/views/resource-requests/components/PromptDialog.tsx","frontend-react/src/views/resource-requests/index.module.scss","frontend-react/src/views/resource-requests/index.tsx","frontend-react/src/views/rfm-analysis/Detail.tsx","frontend-react/src/views/rfm-analysis/Index.tsx","frontend-react/src/views/rfm-analysis/RfmAnalysis.module.scss","frontend-react/src/views/rfm-analysis/__tests__/rfm-analysis.test.tsx","frontend-react/src/views/rfm-analysis/rfmAnalysisMeta.ts","frontend-react/src/views/rma/Detail.module.scss","frontend-react/src/views/rma/Detail.tsx","frontend-react/src/views/rma/Form.module.scss","frontend-react/src/views/rma/Form.tsx","frontend-react/src/views/rma/Index.module.scss","frontend-react/src/views/rma/Index.tsx","frontend-react/src/views/rma/__tests__/rma-detail.test.tsx","frontend-react/src/views/rma/__tests__/rma-form.test.tsx","frontend-react/src/views/rma/__tests__/rma-index.test.tsx","frontend-react/src/views/roles/Index.module.scss","frontend-react/src/views/roles/Index.tsx","frontend-react/src/views/roles/__tests__/roles-index.test.tsx","frontend-react/src/views/roles/components/PermissionAssign.module.scss","frontend-react/src/views/roles/components/PermissionAssign.tsx","frontend-react/src/views/roles/components/RoleForm.tsx","frontend-react/src/views/roles/components/RoleUsers.module.scss","frontend-react/src/views/roles/components/RoleUsers.tsx","frontend-react/src/views/sales-dashboard/Index.module.scss","frontend-react/src/views/sales-dashboard/Index.tsx","frontend-react/src/views/sales-dashboard/__tests__/sales-dashboard-index.test.tsx","frontend-react/src/views/sales-funnel/Index.tsx","frontend-react/src/views/sample-requests/Detail.module.scss","frontend-react/src/views/sample-requests/Detail.tsx","frontend-react/src/views/sample-requests/Form.module.scss","frontend-react/src/views/sample-requests/Form.tsx","frontend-react/src/views/sample-requests/Index.module.scss","frontend-react/src/views/sample-requests/Index.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-detail.test.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-form.test.tsx","frontend-react/src/views/sample-requests/__tests__/sample-requests-index.test.tsx","frontend-react/src/views/sample-requests/components/PromptDialog.module.scss","frontend-react/src/views/sample-requests/components/PromptDialog.tsx","frontend-react/src/views/satisfaction/Analytics.module.scss","frontend-react/src/views/satisfaction/Analytics.tsx","frontend-react/src/views/satisfaction/Detail.module.scss","frontend-react/src/views/satisfaction/Detail.tsx","frontend-react/src/views/satisfaction/Form.module.scss","frontend-react/src/views/satisfaction/Form.tsx","frontend-react/src/views/satisfaction/Index.module.scss","frontend-react/src/views/satisfaction/Index.tsx","frontend-react/src/views/satisfaction/Responses.module.scss","frontend-react/src/views/satisfaction/Responses.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-analytics.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-detail.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-form.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-index.test.tsx","frontend-react/src/views/satisfaction/__tests__/satisfaction-responses.test.tsx","frontend-react/src/views/scheduled-jobs/Index.module.scss","frontend-react/src/views/scheduled-jobs/Index.tsx","frontend-react/src/views/scheduled-jobs/__tests__/scheduled-jobs-index.test.tsx","frontend-react/src/views/search/Index.module.scss","frontend-react/src/views/search/Index.tsx","frontend-react/src/views/search/__tests__/search-index.test.tsx","frontend-react/src/views/security-settings/Index.module.scss","frontend-react/src/views/security-settings/Index.tsx","frontend-react/src/views/security-settings/__tests__/security-settings-index.test.tsx","frontend-react/src/views/segments/Detail.module.scss","frontend-react/src/views/segments/Detail.tsx","frontend-react/src/views/segments/Form.module.scss","frontend-react/src/views/segments/Form.tsx","frontend-react/src/views/segments/Index.tsx","frontend-react/src/views/segments/__tests__/segments-detail.test.tsx","frontend-react/src/views/segments/__tests__/segments-form.test.tsx","frontend-react/src/views/self-operated-store/Index.module.scss","frontend-react/src/views/self-operated-store/Index.tsx","frontend-react/src/views/self-operated-store/__tests__/self-operated-store.test.tsx","frontend-react/src/views/self-operated-store/selfOperatedStoreMeta.ts","frontend-react/src/views/serial-numbers/Activate.tsx","frontend-react/src/views/serial-numbers/Detail.tsx","frontend-react/src/views/serial-numbers/Form.tsx","frontend-react/src/views/serial-numbers/Index.tsx","frontend-react/src/views/serial-numbers/SerialNumbers.module.scss","frontend-react/src/views/serial-numbers/__tests__/serial-numbers.test.tsx","frontend-react/src/views/serial-numbers/serialNumberMeta.ts","frontend-react/src/views/service-dashboard/Index.module.scss","frontend-react/src/views/service-dashboard/Index.tsx","frontend-react/src/views/service-dashboard/components/AlertsPanel.module.scss","frontend-react/src/views/service-dashboard/components/AlertsPanel.tsx","frontend-react/src/views/service-dashboard/components/EngineerRankingPanel.module.scss","frontend-react/src/views/service-dashboard/components/EngineerRankingPanel.tsx","frontend-react/src/views/service-dashboard/components/OverviewCards.module.scss","frontend-react/src/views/service-dashboard/components/OverviewCards.tsx","frontend-react/src/views/service-dashboard/components/SLAPanel.module.scss","frontend-react/src/views/service-dashboard/components/SLAPanel.tsx","frontend-react/src/views/service-dashboard/components/SatisfactionPanel.module.scss","frontend-react/src/views/service-dashboard/components/SatisfactionPanel.tsx","frontend-react/src/views/service-dashboard/components/TicketStatsPanel.module.scss","frontend-react/src/views/service-dashboard/components/TicketStatsPanel.tsx","frontend-react/src/views/service-dashboard/components/TrendsPanel.module.scss","frontend-react/src/views/service-dashboard/components/TrendsPanel.tsx","frontend-react/src/views/service-dashboard/components/WorkstationCalendarGantt.module.scss","frontend-react/src/views/service-dashboard/components/WorkstationCalendarGantt.tsx","frontend-react/src/views/service-dashboard/composables/useServiceDashboard.ts","frontend-react/src/views/service-monitor/Index.module.scss","frontend-react/src/views/service-monitor/Index.tsx","frontend-react/src/views/service-monitor/__tests__/service-monitor-index.test.tsx","frontend-react/src/views/service/TicketGantt.module.scss","frontend-react/src/views/service/TicketGantt.tsx","frontend-react/src/views/service/__tests__/ticket-gantt-chart.test.tsx","frontend-react/src/views/service/__tests__/ticket-gantt.test.tsx","frontend-react/src/views/service/components/TicketGanttChart.module.scss","frontend-react/src/views/service/components/TicketGanttChart.tsx","frontend-react/src/views/service/composables/useTicketGanttData.ts","frontend-react/src/views/settings/Index.module.scss","frontend-react/src/views/settings/Index.tsx","frontend-react/src/views/settings/IntegrationServices.module.scss","frontend-react/src/views/settings/IntegrationServices.tsx","frontend-react/src/views/settings/__tests__/integration-services.test.tsx","frontend-react/src/views/settings/__tests__/settings-index.test.tsx","frontend-react/src/views/settings/__tests__/system-settings.test.tsx","frontend-react/src/views/settings/components/CacheManagement.module.scss","frontend-react/src/views/settings/components/CacheManagement.tsx","frontend-react/src/views/settings/components/EventLogsPanel.module.scss","frontend-react/src/views/settings/components/EventLogsPanel.tsx","frontend-react/src/views/settings/components/MetricsPanel.module.scss","frontend-react/src/views/settings/components/MetricsPanel.tsx","frontend-react/src/views/settings/components/NotificationSettings.module.scss","frontend-react/src/views/settings/components/NotificationSettings.tsx","frontend-react/src/views/settings/components/ProfileSettings.module.scss","frontend-react/src/views/settings/components/ProfileSettings.tsx","frontend-react/src/views/settings/components/ScheduledJobsPanel.module.scss","frontend-react/src/views/settings/components/ScheduledJobsPanel.tsx","frontend-react/src/views/settings/components/ServiceStatusPanel.module.scss","frontend-react/src/views/settings/components/ServiceStatusPanel.tsx","frontend-react/src/views/settings/components/SystemSettings.module.scss","frontend-react/src/views/settings/components/SystemSettings.tsx","frontend-react/src/views/settings/components/integration/IntegrationAdPlatformsPanel.tsx","frontend-react/src/views/settings/components/integration/IntegrationAiConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationConfigShared.module.scss","frontend-react/src/views/settings/components/integration/IntegrationDingtalkConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationEmailConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationFeishuConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationGroupbuyPanel.tsx","frontend-react/src/views/settings/components/integration/IntegrationSmsConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWebhookConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWechatPublicConfig.tsx","frontend-react/src/views/settings/components/integration/IntegrationWechatWorkConfig.tsx","frontend-react/src/views/settings/components/useSettings.ts","frontend-react/src/views/settings/composables/useIntegrationServices.ts","frontend-react/src/views/shipments/Detail.tsx","frontend-react/src/views/shipments/Form.tsx","frontend-react/src/views/shipments/Index.tsx","frontend-react/src/views/shipments/Shipments.module.scss","frontend-react/src/views/shipments/__tests__/shipments-detail.test.tsx","frontend-react/src/views/shipments/__tests__/shipments-form.test.tsx","frontend-react/src/views/shipments/__tests__/shipments-index.test.tsx","frontend-react/src/views/shipments/shipmentMeta.ts","frontend-react/src/views/sla/Dashboard.module.scss","frontend-react/src/views/sla/Dashboard.tsx","frontend-react/src/views/sla/Index.module.scss","frontend-react/src/views/sla/Index.tsx","frontend-react/src/views/sla/__tests__/sla-dashboard.test.tsx","frontend-react/src/views/sla/__tests__/sla-index.test.tsx","frontend-react/src/views/sla/components/SLADashboard.module.scss","frontend-react/src/views/sla/components/SLADashboard.tsx","frontend-react/src/views/sla/components/index.ts","frontend-react/src/views/sms-marketing/Index.tsx","frontend-react/src/views/sms-marketing/SmsMarketing.module.scss","frontend-react/src/views/sms-marketing/__tests__/sms-marketing.test.tsx","frontend-react/src/views/sms-marketing/smsMarketingMeta.ts","frontend-react/src/views/social-accounts/Form.tsx","frontend-react/src/views/social-accounts/Index.tsx","frontend-react/src/views/social-accounts/SocialAccounts.module.scss","frontend-react/src/views/social-accounts/__tests__/social-accounts-form.test.tsx","frontend-react/src/views/social-accounts/__tests__/social-accounts-index.test.tsx","frontend-react/src/views/social-accounts/socialAccountsMeta.ts","frontend-react/src/views/social-analytics/Index.tsx","frontend-react/src/views/social-analytics/SocialAnalytics.module.scss","frontend-react/src/views/social-analytics/__tests__/social-analytics-index.test.tsx","frontend-react/src/views/social-auto-replies/Form.tsx","frontend-react/src/views/social-auto-replies/Index.tsx","frontend-react/src/views/social-auto-replies/SocialAutoReplies.module.scss","frontend-react/src/views/social-auto-replies/__tests__/social-auto-replies-form.test.tsx","frontend-react/src/views/social-auto-replies/__tests__/social-auto-replies-index.test.tsx","frontend-react/src/views/social-auto-replies/socialAutoRepliesMeta.ts","frontend-react/src/views/social-competitors/Form.tsx","frontend-react/src/views/social-competitors/Index.tsx","frontend-react/src/views/social-competitors/SocialCompetitors.module.scss","frontend-react/src/views/social-competitors/__tests__/social-competitors-form.test.tsx","frontend-react/src/views/social-competitors/__tests__/social-competitors-index.test.tsx","frontend-react/src/views/social-competitors/socialCompetitorsMeta.ts","frontend-react/src/views/social-followers/Form.tsx","frontend-react/src/views/social-followers/Index.tsx","frontend-react/src/views/social-followers/SocialFollowers.module.scss","frontend-react/src/views/social-followers/__tests__/social-followers-form.test.tsx","frontend-react/src/views/social-followers/__tests__/social-followers-index.test.tsx","frontend-react/src/views/social-followers/socialFollowersMeta.ts","frontend-react/src/views/social-hot-topics/Form.tsx","frontend-react/src/views/social-hot-topics/Index.tsx","frontend-react/src/views/social-hot-topics/SocialHotTopics.module.scss","frontend-react/src/views/social-hot-topics/__tests__/social-hot-topics-form.test.tsx","frontend-react/src/views/social-hot-topics/__tests__/social-hot-topics-index.test.tsx","frontend-react/src/views/social-hot-topics/socialHotTopicsMeta.ts","frontend-react/src/views/social-interactions/Form.tsx","frontend-react/src/views/social-interactions/Index.tsx","frontend-react/src/views/social-interactions/SocialInteractions.module.scss","frontend-react/src/views/social-interactions/__tests__/social-interactions-form.test.tsx","frontend-react/src/views/social-interactions/__tests__/social-interactions-index.test.tsx","frontend-react/src/views/social-interactions/socialInteractionsMeta.ts","frontend-react/src/views/social-matrix/Form.module.scss","frontend-react/src/views/social-matrix/Form.tsx","frontend-react/src/views/social-matrix/Index.module.scss","frontend-react/src/views/social-matrix/Index.tsx","frontend-react/src/views/social-posts/Detail.tsx","frontend-react/src/views/social-posts/Form.tsx","frontend-react/src/views/social-posts/Index.tsx","frontend-react/src/views/social-posts/SocialPosts.module.scss","frontend-react/src/views/social-posts/__tests__/social-posts-detail.test.tsx","frontend-react/src/views/social-posts/__tests__/social-posts-form.test.tsx","frontend-react/src/views/social-posts/__tests__/social-posts-index.test.tsx","frontend-react/src/views/social-posts/socialPostMeta.ts","frontend-react/src/views/spare-parts/Detail.module.scss","frontend-react/src/views/spare-parts/Detail.tsx","frontend-react/src/views/spare-parts/Form.module.scss","frontend-react/src/views/spare-parts/Form.tsx","frontend-react/src/views/spare-parts/Index.module.scss","frontend-react/src/views/spare-parts/Index.tsx","frontend-react/src/views/spare-parts/__tests__/spare-parts-responsive.test.tsx","frontend-react/src/views/spare-parts/components/SparePartForm.tsx","frontend-react/src/views/spare-parts/components/StockOperationDialog.module.scss","frontend-react/src/views/spare-parts/components/StockOperationDialog.tsx","frontend-react/src/views/spare-parts/components/TransactionHistory.module.scss","frontend-react/src/views/spare-parts/components/TransactionHistory.tsx","frontend-react/src/views/stage-knowledge/Index.module.scss","frontend-react/src/views/stage-knowledge/Index.tsx","frontend-react/src/views/stage-knowledge/__tests__/stage-knowledge-index.test.tsx","frontend-react/src/views/store-agency/Index.module.scss","frontend-react/src/views/store-agency/Index.tsx","frontend-react/src/views/store-agency/__tests__/store-agency.test.tsx","frontend-react/src/views/store-agency/storeAgencyMeta.ts","frontend-react/src/views/store-configs/Form.tsx","frontend-react/src/views/store-configs/Index.tsx","frontend-react/src/views/store-configs/StoreConfigs.module.scss","frontend-react/src/views/store-configs/__tests__/store-configs.test.tsx","frontend-react/src/views/store-inventory/Index.tsx","frontend-react/src/views/store-ops/StoreOps.module.scss","frontend-react/src/views/store-ops/__tests__/store-ops.test.tsx","frontend-react/src/views/store-ops/storeOpsMeta.ts","frontend-react/src/views/store-performance/Index.module.scss","frontend-react/src/views/store-performance/Index.tsx","frontend-react/src/views/store-performance/__tests__/store-alert-actions.test.tsx","frontend-react/src/views/store-performance/__tests__/store-performance.test.tsx","frontend-react/src/views/store-settlements/Index.tsx","frontend-react/src/views/store-staff/Index.tsx","frontend-react/src/views/stores/Detail.tsx","frontend-react/src/views/stores/Form.tsx","frontend-react/src/views/stores/Index.tsx","frontend-react/src/views/stores/Stores.module.scss","frontend-react/src/views/stores/__tests__/stores.test.tsx","frontend-react/src/views/stores/storeMeta.ts","frontend-react/src/views/supplier-center/Index.module.scss","frontend-react/src/views/supplier-center/Index.tsx","frontend-react/src/views/supplier-management/Applications.tsx","frontend-react/src/views/supplier-management/Contracts.tsx","frontend-react/src/views/supplier-management/Index.tsx","frontend-react/src/views/supplier-management/JBPs.tsx","frontend-react/src/views/supplier-management/Rejections.tsx","frontend-react/src/views/supplier-management/ResourcePage.tsx","frontend-react/src/views/supplier-management/Risks.tsx","frontend-react/src/views/supplier-management/Scorecards.tsx","frontend-react/src/views/supplier-management/StoreSuppliers.tsx","frontend-react/src/views/supplier-management/SupplierManagement.module.scss","frontend-react/src/views/supplier-management/__tests__/supplier-applications.test.tsx","frontend-react/src/views/supplier-management/__tests__/supplier-management-index.test.tsx","frontend-react/src/views/supplier-management/config.tsx","frontend-react/src/views/supplier-payments/Index.module.scss","frontend-react/src/views/supplier-payments/Index.tsx","frontend-react/src/views/supplier-payments/__tests__/supplier-payments-index.test.tsx","frontend-react/src/views/suppliers/Detail.tsx","frontend-react/src/views/suppliers/Form.tsx","frontend-react/src/views/suppliers/Index.tsx","frontend-react/src/views/suppliers/Suppliers.module.scss","frontend-react/src/views/suppliers/__tests__/suppliers-detail.test.tsx","frontend-react/src/views/suppliers/__tests__/suppliers-form.test.tsx","frontend-react/src/views/suppliers/__tests__/suppliers-index.test.tsx","frontend-react/src/views/suppliers/supplierMeta.ts","frontend-react/src/views/supply-chain/SupplyChain.module.scss","frontend-react/src/views/supply-chain/Workbench.tsx","frontend-react/src/views/supply-chain/__tests__/supply-chain-workbench.test.tsx","frontend-react/src/views/swot-analyses/Index.tsx","frontend-react/src/views/system-events/Index.module.scss","frontend-react/src/views/system-events/Index.tsx","frontend-react/src/views/system-events/__tests__/system-events-index.test.tsx","frontend-react/src/views/system-import/Index.module.scss","frontend-react/src/views/system-import/Index.tsx","frontend-react/src/views/system-import/__tests__/system-import-index.test.tsx","frontend-react/src/views/system-monitor/Index.module.scss","frontend-react/src/views/system-monitor/Index.tsx","frontend-react/src/views/system-monitor/__tests__/system-monitor-index.test.tsx","frontend-react/src/views/system/AuditLogs.module.scss","frontend-react/src/views/system/AuditLogs.tsx","frontend-react/src/views/system/Permissions.module.scss","frontend-react/src/views/system/Permissions.tsx","frontend-react/src/views/system/__tests__/biz-sequences-form.test.tsx","frontend-react/src/views/system/__tests__/biz-sequences-index.test.tsx","frontend-react/src/views/system/__tests__/system-audit-logs.test.tsx","frontend-react/src/views/system/__tests__/system-params-index.test.tsx","frontend-react/src/views/system/__tests__/system-permissions.test.tsx","frontend-react/src/views/system/biz-sequences/Form.module.scss","frontend-react/src/views/system/biz-sequences/Form.tsx","frontend-react/src/views/system/biz-sequences/Index.module.scss","frontend-react/src/views/system/biz-sequences/Index.tsx","frontend-react/src/views/system/params/Index.module.scss","frontend-react/src/views/system/params/Index.tsx","frontend-react/src/views/system/tenant-configs/Index.module.scss","frontend-react/src/views/system/tenant-configs/Index.tsx","frontend-react/src/views/system/tenant-configs/__tests__/tenant-configs.test.tsx","frontend-react/src/views/targets/Breakdown.tsx","frontend-react/src/views/targets/Detail.tsx","frontend-react/src/views/targets/Form.tsx","frontend-react/src/views/targets/Index.tsx","frontend-react/src/views/targets/Targets.module.scss","frontend-react/src/views/targets/__tests__/targets.test.tsx","frontend-react/src/views/targets/targetsMeta.ts","frontend-react/src/views/ticket-workflows/Index.module.scss","frontend-react/src/views/ticket-workflows/Index.tsx","frontend-react/src/views/tickets/Detail.module.scss","frontend-react/src/views/tickets/Detail.tsx","frontend-react/src/views/tickets/Form.module.scss","frontend-react/src/views/tickets/Form.tsx","frontend-react/src/views/tickets/Gantt.module.scss","frontend-react/src/views/tickets/Gantt.tsx","frontend-react/src/views/tickets/Index.module.scss","frontend-react/src/views/tickets/Index.tsx","frontend-react/src/views/tickets/components/AICopilotSidebar.module.scss","frontend-react/src/views/tickets/components/AICopilotSidebar.tsx","frontend-react/src/views/tickets/components/CoachDialog.module.scss","frontend-react/src/views/tickets/components/CoachDialog.tsx","frontend-react/src/views/tickets/components/DetailDiagnosis.module.scss","frontend-react/src/views/tickets/components/DetailDiagnosis.tsx","frontend-react/src/views/tickets/components/DetailInfo.module.scss","frontend-react/src/views/tickets/components/DetailInfo.tsx","frontend-react/src/views/tickets/components/DetailMessages.module.scss","frontend-react/src/views/tickets/components/DetailMessages.tsx","frontend-react/src/views/tickets/components/DetailMobile.module.scss","frontend-react/src/views/tickets/components/DetailMobile.tsx","frontend-react/src/views/tickets/components/DetailSidebar.module.scss","frontend-react/src/views/tickets/components/DetailSidebar.tsx","frontend-react/src/views/tickets/components/DetailStageHistory.module.scss","frontend-react/src/views/tickets/components/DetailStageHistory.tsx","frontend-react/src/views/tickets/components/DetailTimeline.module.scss","frontend-react/src/views/tickets/components/DetailTimeline.tsx","frontend-react/src/views/tickets/components/SLAClock.module.scss","frontend-react/src/views/tickets/components/SLAClock.tsx","frontend-react/src/views/tickets/components/gantt/GanttToolbar.module.scss","frontend-react/src/views/tickets/components/gantt/GanttToolbar.tsx","frontend-react/src/views/tickets/components/gantt/TicketGanttChart.module.scss","frontend-react/src/views/tickets/components/gantt/TicketGanttChart.tsx","frontend-react/src/views/tickets/components/gantt/hooks/useGanttData.ts","frontend-react/src/views/tickets/composables/useTicketDetail.ts","frontend-react/src/views/tob-toc-gateway/Index.module.scss","frontend-react/src/views/tob-toc-gateway/Index.tsx","frontend-react/src/views/treasury/Accounts.tsx","frontend-react/src/views/treasury/CashForecast.tsx","frontend-react/src/views/treasury/DailySettlement.tsx","frontend-react/src/views/treasury/FundScheduling.tsx","frontend-react/src/views/treasury/Index.tsx","frontend-react/src/views/treasury/PaymentRequests.tsx","frontend-react/src/views/treasury/Treasury.module.scss","frontend-react/src/views/treasury/__tests__/treasury-pages.test.tsx","frontend-react/src/views/treasury/utils.ts","frontend-react/src/views/users/Index.module.scss","frontend-react/src/views/users/Index.tsx","frontend-react/src/views/users/__tests__/user-form.test.tsx","frontend-react/src/views/users/__tests__/users-index.test.tsx","frontend-react/src/views/users/components/ResponsiveFilterBar.module.scss","frontend-react/src/views/users/components/ResponsiveFilterBar.tsx","frontend-react/src/views/users/components/ResponsiveStats.module.scss","frontend-react/src/views/users/components/ResponsiveStats.tsx","frontend-react/src/views/users/components/RoleAssign.module.scss","frontend-react/src/views/users/components/RoleAssign.tsx","frontend-react/src/views/users/components/UserForm.tsx","frontend-react/src/views/utm-tracking/Form.tsx","frontend-react/src/views/utm-tracking/Index.tsx","frontend-react/src/views/utm-tracking/UtmTracking.module.scss","frontend-react/src/views/utm-tracking/__tests__/utm-tracking-form.test.tsx","frontend-react/src/views/utm-tracking/__tests__/utm-tracking-index.test.tsx","frontend-react/src/views/utm-tracking/utmTrackingMeta.ts","frontend-react/src/views/video-analytics/Index.tsx","frontend-react/src/views/video-analytics/VideoAnalytics.module.scss","frontend-react/src/views/video-analytics/__tests__/video-analytics-index.test.tsx","frontend-react/src/views/video-calls/Form.tsx","frontend-react/src/views/video-calls/Index.tsx","frontend-react/src/views/video-calls/VideoCalls.module.scss","frontend-react/src/views/video-calls/__tests__/video-calls-form.test.tsx","frontend-react/src/views/video-calls/__tests__/video-calls-index.test.tsx","frontend-react/src/views/video-calls/videoCallMeta.ts","frontend-react/src/views/video-content/Detail.tsx","frontend-react/src/views/video-content/Form.tsx","frontend-react/src/views/video-content/Index.tsx","frontend-react/src/views/video-content/VideoContent.module.scss","frontend-react/src/views/video-content/__tests__/video-content.test.tsx","frontend-react/src/views/video-publishing/Detail.tsx","frontend-react/src/views/video-publishing/Form.tsx","frontend-react/src/views/video-publishing/Index.tsx","frontend-react/src/views/video-publishing/VideoPublishing.module.scss","frontend-react/src/views/video-publishing/__tests__/video-publishing.test.tsx","frontend-react/src/views/web-tracking/Index.tsx","frontend-react/src/views/web-tracking/WebTracking.module.scss","frontend-react/src/views/web-tracking/__tests__/web-tracking.test.tsx","frontend-react/tsconfig.json","frontend-react/vite.config.ts","frontend-react/vitest.config.ts","reports/eios-react-import-2026-11-01.json","reports/react-mock-view-audit.latest.json","reports/react-page-click-interactions-audit.latest.json","reports/react-page-click-interactions-audit.latest.md","reports/react-signal-island-audit.latest.json","reports/react-test-data-governance.latest.json","reports/react-test-data-governance.latest.md","scripts/android/frontend-react-emulator.sh","scripts/android/frontend-react-gradle.sh","scripts/audit-react-documentation-truth.ts","scripts/audit-react-mock-views.ts","scripts/audit-react-page-click-interactions.ts","scripts/audit-react-signal-island.ts","scripts/audit-react-test-data-governance.ts","scripts/ios/frontend-react-cap.sh","scripts/lib/frontend-source-adapter.ts"],"removed":["e2e/scripts/generate-view-governance.mjs","e2e/scripts/verify-view-governance.mjs","frontend/.editorconfig","frontend/.env.development","frontend/.env.example","frontend/.env.production","frontend/.eslintrc.cjs","frontend/.gitignore","frontend/.prettierignore","frontend/.prettierrc","frontend/Dockerfile","frontend/Dockerfile.dev","frontend/Dockerfile.local","frontend/Dockerfile.prebuilt","frontend/QUICK_VERIFY.sh","frontend/e2e/PROCESS_DESIGNER_TEST_GUIDE.md","frontend/e2e/auth.spec.ts","frontend/e2e/business-critical-pages.smoke.spec.ts","frontend/e2e/fixtures/test-fixtures.ts","frontend/e2e/leads.spec.ts","frontend/e2e/opportunities.spec.ts","frontend/e2e/performance.spec.ts","frontend/e2e/process-designer.spec.ts","frontend/e2e/sales-workflow.spec.ts","frontend/e2e/service-workflow.spec.ts","frontend/e2e/tickets.spec.ts","frontend/fix_ts2307_vue.cjs","frontend/fix_unknown_types.cjs","frontend/fix_unknown_types.js","frontend/fix_vue_exports.cjs","frontend/fix_vue_exports.js","frontend/index.html","frontend/nginx.conf","frontend/package-lock.json","frontend/package.json","frontend/playwright.config.ts","frontend/public/favicon.svg","frontend/public/icons/.gitkeep","frontend/public/icons/icon-192.png","frontend/public/icons/icon-512.png","frontend/public/icons/icon-maskable-192.png","frontend/public/icons/icon-maskable-512.png","frontend/public/manifest.json","frontend/public/sw.js","frontend/remove_unused_ignore.cjs","frontend/remove_unused_ignore_all.cjs","frontend/scripts/check-array-guard.mjs","frontend/scripts/check-form-governance.mjs","frontend/scripts/validate-menu.ts","frontend/src/App.vue","frontend/src/api/adapters.ts","frontend/src/api/api-base-url.test.ts","frontend/src/api/api-base-url.ts","frontend/src/api/client.test.ts","frontend/src/api/client.ts","frontend/src/api/factory.ts","frontend/src/api/fetch-all-pages.ts","frontend/src/api/im-binding.ts","frontend/src/api/index.ts","frontend/src/api/modules/__root__.docs.ts","frontend/src/api/modules/__tests__/ad-reports.test.ts","frontend/src/api/modules/__tests__/ai-autopilot.test.ts","frontend/src/api/modules/__tests__/im-websocket.test.ts","frontend/src/api/modules/__tests__/lead-scoring-ai.test.ts","frontend/src/api/modules/__tests__/login-logs.test.ts","frontend/src/api/modules/__tests__/ticket-workflows.test.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-analytics.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-biddings.ts","frontend/src/api/modules/ad-campaigns.test.ts","frontend/src/api/modules/ad-campaigns.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-placements.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/agent-sessions.ts","frontend/src/api/modules/aging-analysis.ts","frontend/src/api/modules/ai-agent-core.ts","frontend/src/api/modules/ai-agent-im.ts","frontend/src/api/modules/ai-agent-skills.ts","frontend/src/api/modules/ai-agent-tasks.ts","frontend/src/api/modules/ai-agent-workflows.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/ai-agents.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-campaigns.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/alliance-settlements.ts","frontend/src/api/modules/analytics.test.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/ap-ledger.test.ts","frontend/src/api/modules/ap-ledger.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/assembly.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution-models.ts","frontend/src/api/modules/attribution-reports.ts","frontend/src/api/modules/attribution.test.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/backend-management.docs.ts","frontend/src/api/modules/backend-management.ts","frontend/src/api/modules/biz-sequences.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/campaign-analytics.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.test.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/capability-graph.ts","frontend/src/api/modules/cash-flow.test.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/certifications.ts","frontend/src/api/modules/channel-analytics.ts","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/chart-of-accounts.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-fission.ts","frontend/src/api/modules/community-gamification.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-materials.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-review.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/contracts.test.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cost-allocation.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/crm-activities.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-balance.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey-orchestration.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-lifecycle-value.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-profit.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/customers.test.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/departments.test.ts","frontend/src/api/modules/departments.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/diagnosis.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/disbursements.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense-claims.test.ts","frontend/src/api/modules/expense-claims.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/files.ts","frontend/src/api/modules/finance-os.ts","frontend/src/api/modules/finance-periods.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-analytics.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-keywords.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-commissions.ts","frontend/src/api/modules/groupbuy-influencers-api.ts","frontend/src/api/modules/groupbuy-influencers-types.ts","frontend/src/api/modules/groupbuy-influencers-utils.ts","frontend/src/api/modules/groupbuy-influencers.test.ts","frontend/src/api/modules/groupbuy-influencers.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-orders.ts","frontend/src/api/modules/groupbuy-participants.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/groupbuy-redemptions.ts","frontend/src/api/modules/groupbuy-reviews.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-attendance.test.ts","frontend/src/api/modules/hr-attendance.ts","frontend/src/api/modules/hr-benefits.test.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/hr-training-api.ts","frontend/src/api/modules/hr-training-types.ts","frontend/src/api/modules/hr-training.test.ts","frontend/src/api/modules/hr-training.ts","frontend/src/api/modules/hr.docs.ts","frontend/src/api/modules/hr.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im-conversations.ts","frontend/src/api/modules/im-messages.ts","frontend/src/api/modules/im-websocket.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/inventory-reservations.ts","frontend/src/api/modules/inventory.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/journal-entries.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-base.ts","frontend/src/api/modules/knowledge-candidates.test.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture-rules.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/knowledge-feedback.test.ts","frontend/src/api/modules/knowledge-feedback.ts","frontend/src/api/modules/knowledge.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/lead-qualification.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/lead-sla.ts","frontend/src/api/modules/leads.test.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/learning-paths.ts","frontend/src/api/modules/livestream-analytics.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-products.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream-scripts.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-attribution.docs.ts","frontend/src/api/modules/marketing-attribution.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-effectiveness.docs.ts","frontend/src/api/modules/marketing-effectiveness.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.test.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing-tools.docs.ts","frontend/src/api/modules/marketing-tools.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/mdm.ts","frontend/src/api/modules/meddpicc-analyses.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/notification-configs.ts","frontend/src/api/modules/notifications.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.test.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/orders.test.ts","frontend/src/api/modules/orders.ts","frontend/src/api/modules/org-chart.docs.ts","frontend/src/api/modules/org-chart.ts","frontend/src/api/modules/outbound.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/payment-analytics.ts","frontend/src/api/modules/payment-plans.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/performance-aggregates.ts","frontend/src/api/modules/pm.ts","frontend/src/api/modules/positions.docs.ts","frontend/src/api/modules/positions.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process-im.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/product-analytics.docs.ts","frontend/src/api/modules/product-analytics.ts","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/products.test.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/projects-api.ts","frontend/src/api/modules/projects-types.ts","frontend/src/api/modules/projects.ts","frontend/src/api/modules/purchase-orders.test.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/qr-codes.ts","frontend/src/api/modules/quotes.test.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/realtime.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/redemptions.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/renewals.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue-recognition.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/roles.test.ts","frontend/src/api/modules/roles.ts","frontend/src/api/modules/sales-coach.ts","frontend/src/api/modules/sales-dashboard.test.ts","frontend/src/api/modules/sales-dashboard.ts","frontend/src/api/modules/sample-requests.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/security-settings.docs.ts","frontend/src/api/modules/security-settings.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/self-operated-store.ts","frontend/src/api/modules/serial-numbers.ts","frontend/src/api/modules/service-dashboard.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/service.docs.ts","frontend/src/api/modules/service.ts","frontend/src/api/modules/settings.docs.ts","frontend/src/api/modules/settings.ts","frontend/src/api/modules/shipments.docs.ts","frontend/src/api/modules/shipments.ts","frontend/src/api/modules/sla.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-analytics.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-followers.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/social-matrix.ts","frontend/src/api/modules/social-posts.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/stage-knowledge-packs.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/store-agency.ts","frontend/src/api/modules/store-configs.ts","frontend/src/api/modules/store-dashboard.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/store-ops-compat.test.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/store-settlements.ts","frontend/src/api/modules/store-staff.ts","frontend/src/api/modules/stores.test.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/supplier-payments.test.ts","frontend/src/api/modules/supplier-payments.ts","frontend/src/api/modules/suppliers.test.ts","frontend/src/api/modules/suppliers.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/system-import.ts","frontend/src/api/modules/system-monitor.ts","frontend/src/api/modules/system-settings.ts","frontend/src/api/modules/system.docs.ts","frontend/src/api/modules/system.ts","frontend/src/api/modules/talent-review.ts","frontend/src/api/modules/targets.ts","frontend/src/api/modules/tenant-configs.ts","frontend/src/api/modules/tenant-settings.ts","frontend/src/api/modules/ticket-dependencies.ts","frontend/src/api/modules/ticket-gantt.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/treasury.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/users.test.ts","frontend/src/api/modules/users.ts","frontend/src/api/modules/utm-tracking.ts","frontend/src/api/modules/video-call.ts","frontend/src/api/modules/video-calls.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-designer.ts","frontend/src/api/response-normalizer.test.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/BatchActionBar.vue","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/ActivityCalendar.vue","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/ActivityTodayPanel.vue","frontend/src/components/business/BizCodeLink.vue","frontend/src/components/business/CoachDialog.vue","frontend/src/components/business/ContactPicker.vue","frontend/src/components/business/CustomerPicker.vue","frontend/src/components/business/EventKnowledgeInput.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/business/LeadConvertDialog.vue","frontend/src/components/business/MyProjectsWidget.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/components/business/ObjectionDetector.vue","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/components/business/SLAClock.vue","frontend/src/components/business/StageProgress.vue","frontend/src/components/business/UserPicker.vue","frontend/src/components/business/WorkstationCalendarGantt.vue","frontend/src/components/business/calendar/CalendarGanttView.vue","frontend/src/components/business/calendar/MarketingCalendar.vue","frontend/src/components/business/calendar/MarketingGantt.vue","frontend/src/components/business/calendar/index.ts","frontend/src/components/business/im-panel/ConversationItem.vue","frontend/src/components/business/index.ts","frontend/src/components/command-palette/CommandInput.vue","frontend/src/components/command-palette/CommandPalette.vue","frontend/src/components/command-palette/CommandResultItem.vue","frontend/src/components/command-palette/CommandResults.vue","frontend/src/components/command-palette/index.ts","frontend/src/components/command-palette/useCommandPalette.ts","frontend/src/components/common/DataTable.vue","frontend/src/components/common/EmptyState.vue","frontend/src/components/common/ErrorBoundary.vue","frontend/src/components/common/ExportButton.vue","frontend/src/components/common/FormDialog.vue","frontend/src/components/common/ImportDialog.vue","frontend/src/components/common/JHLogo.README.md","frontend/src/components/common/JHLogo.vue","frontend/src/components/common/LoadingFallback.vue","frontend/src/components/common/ModuleWorkbench.vue","frontend/src/components/common/PageHeader.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/common/SearchForm.vue","frontend/src/components/common/SkeletonLoader.vue","frontend/src/components/common/StatsCard.vue","frontend/src/components/common/StatusBadge.vue","frontend/src/components/common/__tests__/DataTable.test.ts","frontend/src/components/common/index.ts","frontend/src/components/im/VideoCall.vue","frontend/src/components/layout/AppLayout.vue","frontend/src/components/layout/Breadcrumb.vue","frontend/src/components/layout/Header.vue","frontend/src/components/layout/MobileBottomNav.vue","frontend/src/components/layout/MobileDrawer.vue","frontend/src/components/layout/MobileHeader.vue","frontend/src/components/layout/Sidebar.vue","frontend/src/components/layout/SidebarV2.vue","frontend/src/components/layout/index.ts","frontend/src/components/marketing/index.ts","frontend/src/components/mobile/FloatingActionButton.vue","frontend/src/components/mobile/MobileCard.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/mobile/MobileList.vue","frontend/src/components/mobile/MobileSearchBar.vue","frontend/src/components/mobile/OfflineBanner.vue","frontend/src/components/mobile/PWAInstallPrompt.vue","frontend/src/components/mobile/PullRefresh.vue","frontend/src/components/mobile/QuickActions.vue","frontend/src/components/mobile/SwipeAction.vue","frontend/src/components/mobile/index.ts","frontend/src/components/process-designer/ProcessDesigner.vue","frontend/src/components/responsive/README.md","frontend/src/components/responsive/ResponsiveChart.vue","frontend/src/components/responsive/ResponsiveDetailLayout.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/components/responsive/ResponsiveGrid.vue","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/components/responsive/ResponsiveTabs.vue","frontend/src/components/responsive/__tests__/ResponsiveTabs.test.ts","frontend/src/components/responsive/index.ts","frontend/src/composables/__tests__/useDashboardRealtime.test.ts","frontend/src/composables/__tests__/useFormDraft.test.ts","frontend/src/composables/__tests__/useFormSubmit.test.ts","frontend/src/composables/__tests__/useListPage.test.ts","frontend/src/composables/__tests__/useNetworkStatus.test.ts","frontend/src/composables/__tests__/usePageAIAssist.test.ts","frontend/src/composables/__tests__/usePermission.test.ts","frontend/src/composables/__tests__/useResponsive.test.ts","frontend/src/composables/__tests__/useRouteLoading.test.ts","frontend/src/composables/__tests__/useTouch.test.ts","frontend/src/composables/index.ts","frontend/src/composables/useBatchActions.ts","frontend/src/composables/useCampaignWizard.ts","frontend/src/composables/useCellBuilder.ts","frontend/src/composables/useCrudFormMode.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/composables/useFormDraft.ts","frontend/src/composables/useFormSubmit.ts","frontend/src/composables/useGanttView.ts","frontend/src/composables/useLayout.ts","frontend/src/composables/useListPage.ts","frontend/src/composables/useMarketingCalendar.ts","frontend/src/composables/useMessageSearch.ts","frontend/src/composables/useNetworkStatus.ts","frontend/src/composables/usePageAIAssist.ts","frontend/src/composables/usePermission.ts","frontend/src/composables/useQuickCreateCampaign.ts","frontend/src/composables/useRealtimeEvents.ts","frontend/src/composables/useResponsive.ts","frontend/src/composables/useRouteLoading.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/composables/useSwipeBack.ts","frontend/src/composables/useTheme.ts","frontend/src/composables/useTouch.ts","frontend/src/composables/useVideoCall.ts","frontend/src/config/sentry.ts","frontend/src/constants/campaign-wizard.ts","frontend/src/constants/index.ts","frontend/src/directives/index.ts","frontend/src/directives/lazy-img.ts","frontend/src/directives/permission.ts","frontend/src/env.d.ts","frontend/src/i18n/index.ts","frontend/src/i18n/locales/en-SG.ts","frontend/src/i18n/locales/en-US.ts","frontend/src/i18n/locales/id-ID.ts","frontend/src/i18n/locales/zh-CN.ts","frontend/src/i18n/menu-map.ts","frontend/src/lib/crypto/index.ts","frontend/src/lib/crypto/key-exchange.ts","frontend/src/lib/crypto/key-manager.ts","frontend/src/lib/crypto/message-crypto.ts","frontend/src/lib/crypto/session-key.ts","frontend/src/lib/crypto/storage.ts","frontend/src/lib/webrtc/device-manager.ts","frontend/src/lib/webrtc/index.ts","frontend/src/lib/webrtc/mediasoup-client.ts","frontend/src/main.ts","frontend/src/router/__tests__/acquisition-menu-governance.test.ts","frontend/src/router/__tests__/admin-monitor-route-contract.test.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/router/__tests__/analytics-menu-canonical.test.ts","frontend/src/router/__tests__/content-social-menu-governance.test.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/router/__tests__/dashboard-menu-governance.test.ts","frontend/src/router/__tests__/finance-menu-governance.test.ts","frontend/src/router/__tests__/finance-os-governance-catalog.test.ts","frontend/src/router/__tests__/finance-os-governance-routes.test.ts","frontend/src/router/__tests__/growth-marketing-menu-governance.test.ts","frontend/src/router/__tests__/hr-center-menu.test.ts","frontend/src/router/__tests__/lead-center-routing.test.ts","frontend/src/router/__tests__/menu-compat-canonical.test.ts","frontend/src/router/__tests__/menu-icons.test.ts","frontend/src/router/__tests__/route-permission-compat.test.ts","frontend/src/router/__tests__/sales-menu-governance.test.ts","frontend/src/router/__tests__/service-menu-governance.test.ts","frontend/src/router/__tests__/stores-menu-governance.test.ts","frontend/src/router/__tests__/supply-chain-menu-governance.test.ts","frontend/src/router/__tests__/synergy-center-menu.test.ts","frontend/src/router/__tests__/system-infra-menu-governance.test.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/dashboard.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/marketing.ts","frontend/src/router/modules/sales.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/router/not-found-support.ts","frontend/src/router/route-paths.ts","frontend/src/router/types.ts","frontend/src/services/eventBus.ts","frontend/src/services/im.ts","frontend/src/services/sse.ts","frontend/src/stores/__tests__/ai-agent.store.test.ts","frontend/src/stores/__tests__/app.store.test.ts","frontend/src/stores/__tests__/im.store.test.ts","frontend/src/stores/ai-agent-helpers.ts","frontend/src/stores/ai-agent-task.test.ts","frontend/src/stores/ai-agent-task.ts","frontend/src/stores/ai-agent-workflow.test.ts","frontend/src/stores/ai-agent-workflow.ts","frontend/src/stores/ai-agent.ts","frontend/src/stores/app.ts","frontend/src/stores/auth.test.ts","frontend/src/stores/auth.ts","frontend/src/stores/context.ts","frontend/src/stores/customers.test.ts","frontend/src/stores/customers.ts","frontend/src/stores/im-connection.test.ts","frontend/src/stores/im-connection.ts","frontend/src/stores/im-conversation.test.ts","frontend/src/stores/im-conversation.ts","frontend/src/stores/im-message.test.ts","frontend/src/stores/im-message.ts","frontend/src/stores/im.ts","frontend/src/stores/index.ts","frontend/src/stores/layout.test.ts","frontend/src/stores/layout.ts","frontend/src/stores/leads.test.ts","frontend/src/stores/leads.ts","frontend/src/stores/mdm.ts","frontend/src/stores/menu-preferences.ts","frontend/src/stores/opportunities.test.ts","frontend/src/stores/opportunities.ts","frontend/src/stores/orders.test.ts","frontend/src/stores/orders.ts","frontend/src/stores/products.ts","frontend/src/stores/quotes.test.ts","frontend/src/stores/quotes.ts","frontend/src/stores/service-health.ts","frontend/src/stores/tickets.test.ts","frontend/src/stores/tickets.ts","frontend/src/styles/_containers.scss","frontend/src/styles/_dark-mode.scss","frontend/src/styles/_mobile-global.scss","frontend/src/styles/_variables.scss","frontend/src/styles/index.scss","frontend/src/styles/layers.css","frontend/src/styles/transitions.scss","frontend/src/test/setup.ts","frontend/src/types/ai-agent.ts","frontend/src/types/common.ts","frontend/src/types/enums.ts","frontend/src/types/fetch-event-source.d.ts","frontend/src/types/gantt.ts","frontend/src/types/im-binding.ts","frontend/src/types/index.ts","frontend/src/types/mdm.ts","frontend/src/types/models.ts","frontend/src/types/process.ts","frontend/src/types/project-gantt.ts","frontend/src/utils/array-guard.test.ts","frontend/src/utils/array-guard.ts","frontend/src/utils/case-converter.test.ts","frontend/src/utils/case-converter.ts","frontend/src/utils/color.ts","frontend/src/utils/date.test.ts","frontend/src/utils/date.ts","frontend/src/utils/debug-websocket.ts","frontend/src/utils/echarts.ts","frontend/src/utils/error.test.ts","frontend/src/utils/error.ts","frontend/src/utils/formatters.test.ts","frontend/src/utils/formatters.ts","frontend/src/utils/health-endpoints.test.ts","frontend/src/utils/health-endpoints.ts","frontend/src/utils/idempotency.test.ts","frontend/src/utils/idempotency.ts","frontend/src/utils/index.ts","frontend/src/utils/logger.test.ts","frontend/src/utils/logger.ts","frontend/src/utils/media-server-url.test.ts","frontend/src/utils/media-server-url.ts","frontend/src/utils/message-throttle.test.ts","frontend/src/utils/message-throttle.ts","frontend/src/utils/number.test.ts","frontend/src/utils/number.ts","frontend/src/utils/object-guard.test.ts","frontend/src/utils/object-guard.ts","frontend/src/utils/pdf.ts","frontend/src/utils/region-data.ts","frontend/src/utils/type-mappers.test.ts","frontend/src/utils/type-mappers.ts","frontend/src/utils/validators.test.ts","frontend/src/utils/validators.ts","frontend/src/views/Login.vue","frontend/src/views/NotFound.vue","frontend/src/views/__tests__/acquisition-center.smoke.test.ts","frontend/src/views/__tests__/admin-settings-g4.smoke.test.ts","frontend/src/views/__tests__/approvals-g4.smoke.test.ts","frontend/src/views/__tests__/audit-logs-g4.smoke.test.ts","frontend/src/views/__tests__/biz-sequences-g4.smoke.test.ts","frontend/src/views/__tests__/business-critical-pages.smoke.test.ts","frontend/src/views/__tests__/commissions-g4.smoke.test.ts","frontend/src/views/__tests__/core-business-chain.smoke.test.ts","frontend/src/views/__tests__/departments-g4.smoke.test.ts","frontend/src/views/__tests__/event-logs-g4.smoke.test.ts","frontend/src/views/__tests__/event-subscriptions-g4.smoke.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/groupbuy-orders-g4.smoke.test.ts","frontend/src/views/__tests__/growth-standard-crud-batch-a.smoke.test.ts","frontend/src/views/__tests__/growth-standard-crud-batch-b.smoke.test.ts","frontend/src/views/__tests__/hr-center-g4.smoke.test.ts","frontend/src/views/__tests__/im-g4.smoke.test.ts","frontend/src/views/__tests__/integration-services-g4.smoke.test.ts","frontend/src/views/__tests__/login-operation-logs-g4.smoke.test.ts","frontend/src/views/__tests__/notifications-g4.smoke.test.ts","frontend/src/views/__tests__/p2-view-maturity.smoke.test.ts","frontend/src/views/__tests__/process-designer-g4.smoke.test.ts","frontend/src/views/__tests__/resource-requests-g4.smoke.test.ts","frontend/src/views/__tests__/roles-g4.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts","frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/__tests__/service-monitor-g4.smoke.test.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/__tests__/store-ops-canonical.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/__tests__/synergy-knowledge-g4.smoke.test.ts","frontend/src/views/__tests__/tenant-configs-g4.smoke.test.ts","frontend/src/views/__tests__/users-g4.smoke.test.ts","frontend/src/views/__tests__/video-calls-g4.smoke.test.ts","frontend/src/views/__tests__/warehouse-supply-g4.smoke.test.ts","frontend/src/views/__tests__/wave2-crud-detail-readonly.smoke.test.ts","frontend/src/views/abm-marketing/Form.vue","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/abm-marketing/__tests__/abm-marketing.smoke.test.ts","frontend/src/views/acquisition/Index.test.ts","frontend/src/views/acquisition/Index.vue","frontend/src/views/acquisition/REFACTOR_SUMMARY.md","frontend/src/views/acquisition/components/CalendarSidebar.vue","frontend/src/views/acquisition/components/DateEventsList.vue","frontend/src/views/acquisition/components/EventDetailDrawer.vue","frontend/src/views/acquisition/components/MarketingCalendar.vue","frontend/src/views/acquisition/components/QuickCreateDialog.vue","frontend/src/views/acquisition/components/QuickCreateStepBasic.vue","frontend/src/views/acquisition/components/QuickCreateStepConfirm.vue","frontend/src/views/acquisition/components/QuickCreateStepTools.vue","frontend/src/views/acquisition/components/TodoList.vue","frontend/src/views/acquisition/components/TodoManagement.vue","frontend/src/views/acquisition/components/WorkstationHeader.vue","frontend/src/views/acquisition/composables/index.ts","frontend/src/views/acquisition/composables/types.ts","frontend/src/views/acquisition/composables/useCalendarCells.ts","frontend/src/views/acquisition/composables/useDragDropEnhanced.ts","frontend/src/views/acquisition/composables/useEventHelpers.ts","frontend/src/views/acquisition/composables/useTodos.ts","frontend/src/views/acquisition/composables/useVirtualCalendar.ts","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-accounts/__tests__/ad-accounts.smoke.test.ts","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-analytics/__tests__/ad-analytics.smoke.test.ts","frontend/src/views/ad-audiences/Form.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-audiences/__tests__/ad-audiences.smoke.test.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-biddings/__tests__/ad-biddings.smoke.test.ts","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-campaigns/__tests__/ad-campaigns-g4.smoke.test.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-creatives/__tests__/ad-creatives.smoke.test.ts","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePackForm.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/CampaignForm.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/ad-placements/Index.vue","frontend/src/views/ad-placements/__tests__/ad-placements-g4.smoke.test.ts","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/admin/Index.vue","frontend/src/views/admin/Workbench.vue","frontend/src/views/admin/__tests__/admin-center-g4.smoke.test.ts","frontend/src/views/admin/audit-logs/Index.vue","frontend/src/views/admin/audit-logs/__tests__/admin-audit-logs-g4.smoke.test.ts","frontend/src/views/aging-analysis/Index.vue","frontend/src/views/aging-analysis/__tests__/aging-analysis-g4.smoke.test.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/ai-agents/Create.vue","frontend/src/views/ai-agents/Detail.vue","frontend/src/views/ai-agents/Events.vue","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/ai-agents/Models.vue","frontend/src/views/ai-agents/Overview.vue","frontend/src/views/ai-agents/Queue.vue","frontend/src/views/ai-agents/Tasks.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/ai-agents/__tests__/ai-agent-actions.integration.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-test-cases-governance.test.ts","frontend/src/views/ai-agents/__tests__/im-integration-settings.test.ts","frontend/src/views/ai-agents/autopilot/AITestCaseDetail.vue","frontend/src/views/ai-agents/autopilot/AITestCases.vue","frontend/src/views/ai-agents/autopilot/AITestRunDetail.vue","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/NaturalCommand.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/ai-agents/skill-library/Index.vue","frontend/src/views/ai-agents/tabs/ConversationsTab.vue","frontend/src/views/ai-agents/tabs/IMConfigTab.vue","frontend/src/views/ai-agents/tabs/KnowledgeTab.vue","frontend/src/views/ai-agents/tabs/MetricsTab.vue","frontend/src/views/ai-agents/tabs/ProfileTab.vue","frontend/src/views/ai-agents/tabs/SkillsTab.vue","frontend/src/views/ai-agents/tabs/TasksTab.vue","frontend/src/views/ai-agents/tabs/WorkflowTab.vue","frontend/src/views/ai-copilot/Index.vue","frontend/src/views/ai-copilot/__tests__/ai-copilot-g4.smoke.test.ts","frontend/src/views/ai-review-queue/Index.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-analytics/Form.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-analytics/__tests__/alliance-analytics-g4.smoke.test.ts","frontend/src/views/alliance-campaigns/Detail.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-campaigns/__tests__/alliance-campaigns.smoke.test.ts","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-coupons/__tests__/alliance-coupons.smoke.test.ts","frontend/src/views/alliance-merchants/Form.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-merchants/__tests__/alliance-merchants.smoke.test.ts","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-packages/__tests__/alliance-packages-g4.smoke.test.ts","frontend/src/views/alliance-partners/Detail.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-partners/__tests__/alliance-partners-g4.smoke.test.ts","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Form.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/alliance-settlements/Form.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/analytics/Index.vue","frontend/src/views/analytics/Queries.vue","frontend/src/views/analytics/__tests__/analytics-gov.smoke.test.ts","frontend/src/views/analytics/__tests__/analytics-structure-governance.test.ts","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/ap-ledger/__tests__/ap-ledger-index.smoke.test.ts","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/approval-templates/__tests__/approval-templates.smoke.test.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/ar-ledger/components/index.ts","frontend/src/views/assembly/AssemblyOrderForm.vue","frontend/src/views/assembly/AssemblyOrderList.vue","frontend/src/views/assembly/AssemblyReceiptForm.vue","frontend/src/views/assembly/AssemblyReceiptList.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/assembly/BomList.vue","frontend/src/views/assembly/MaterialIssueForm.vue","frontend/src/views/assembly/MaterialIssueList.vue","frontend/src/views/assembly/index.ts","frontend/src/views/assets/Activate.vue","frontend/src/views/assets/Detail.vue","frontend/src/views/assets/Form.vue","frontend/src/views/assets/Index.vue","frontend/src/views/assets/__tests__/asset-ops-gov.smoke.test.ts","frontend/src/views/assets/__tests__/assets-g4.smoke.test.ts","frontend/src/views/assets/__tests__/service-aux-gov.smoke.test.ts","frontend/src/views/attribution-models/Form.vue","frontend/src/views/attribution-models/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/auth/__tests__/auth.smoke.test.ts","frontend/src/views/backend-management/Index.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/biz-sequences/Index.vue","frontend/src/views/bom/Detail.vue","frontend/src/views/bom/Form.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-drafts/__tests__/campaign-drafts.smoke.test.ts","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-library/__tests__/campaign-library.smoke.test.ts","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-targets/__tests__/campaign-targets.smoke.test.ts","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaign-tools/__tests__/campaign-tools.smoke.test.ts","frontend/src/views/campaign-use-case-templates/Form.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/campaign-use-case-templates/__tests__/campaign-use-case-templates.smoke.test.ts","frontend/src/views/campaigns/Analytics.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Drafts.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/Tools.vue","frontend/src/views/campaigns/UseCaseTemplates.vue","frontend/src/views/campaigns/analytics/index.vue","frontend/src/views/campaigns/components/CampaignDetail.vue","frontend/src/views/campaigns/components/CampaignForm.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step1BusinessLine.vue","frontend/src/views/campaigns/wizard/Step2UseCase.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/campaigns/wizard/Step5Audience.vue","frontend/src/views/campaigns/wizard/Step6Channels.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/__tests__/campaign-wizard.smoke.test.ts","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/campaigns/wizard/index.vue","frontend/src/views/cash-flow/Detail.vue","frontend/src/views/cash-flow/Form.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/cash-flow/__tests__/cash-flow-g4.smoke.test.ts","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/channel-integrations/Detail.vue","frontend/src/views/channel-integrations/Form.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/channel-integrations/__tests__/channel-integrations-g4.smoke.test.ts","frontend/src/views/channels/Detail.vue","frontend/src/views/channels/Form.vue","frontend/src/views/channels/Index.vue","frontend/src/views/channels/__tests__/channels-g4.smoke.test.ts","frontend/src/views/chart-of-accounts/Form.vue","frontend/src/views/chart-of-accounts/Index.vue","frontend/src/views/cohort-analysis/Detail.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/collaboration/Workbench.vue","frontend/src/views/commissions/Detail.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/commissions/Index.vue","frontend/src/views/commissions/__tests__/commissions-g4.smoke.test.ts","frontend/src/views/commissions/components/MyCommissionsTab.vue","frontend/src/views/commissions/components/RecordsTab.vue","frontend/src/views/commissions/components/RulesTab.vue","frontend/src/views/commissions/components/SettlementsTab.vue","frontend/src/views/community-activities/Form.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Form.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-bots/Form.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-bots/__tests__/community-bots-g4.smoke.test.ts","frontend/src/views/community-fission/Form.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-fission/__tests__/community-fission-g4.smoke.test.ts","frontend/src/views/community-gamification/Index.vue","frontend/src/views/community-gamification/__tests__/community-gamification-g4.smoke.test.ts","frontend/src/views/community-groups/Form.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Form.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-materials/Form.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-materials/__tests__/community-materials-g4.smoke.test.ts","frontend/src/views/community-members/Form.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Form.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Form.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/community-tasks/Form.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/community-tasks/__tests__/community-tasks-g4.smoke.test.ts","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/content-categories/Form.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Form.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Form.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Form.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-library/Form.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-library/__tests__/content-library-g4.smoke.test.ts","frontend/src/views/content-review/Form.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-social/Workbench.vue","frontend/src/views/content-templates/Form.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Detail.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contract-templates/__tests__/contract-templates.smoke.test.ts","frontend/src/views/contract-templates/components/TemplatePreview.vue","frontend/src/views/contract-templates/components/VariablePanel.vue","frontend/src/views/contracts/Detail.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/contracts/__tests__/contracts-g4.smoke.test.ts","frontend/src/views/contracts/__tests__/contracts-index.smoke.test.ts","frontend/src/views/contracts/components/DetailApprovalTab.vue","frontend/src/views/contracts/components/DetailAttachmentsTab.vue","frontend/src/views/contracts/components/DetailInfoTab.vue","frontend/src/views/contracts/components/DetailRelationsTab.vue","frontend/src/views/contracts/components/DetailSidebar.vue","frontend/src/views/contracts/components/DetailVersionsTab.vue","frontend/src/views/contracts/components/FormBasicSection.vue","frontend/src/views/contracts/components/FormSignatoriesSection.vue","frontend/src/views/contracts/components/FormSummarySection.vue","frontend/src/views/contracts/composables/useContractDetail.ts","frontend/src/views/contracts/composables/useContractForm.ts","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/cpq/components/BundlesTab.vue","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/cpq/components/RulesTab.vue","frontend/src/views/cpq/components/TemplatesTab.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/cross-domain-funnel/__tests__/cross-domain-funnel-g4.smoke.test.ts","frontend/src/views/customer-analytics/Index.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-balance/__tests__/customer-balance-g4.smoke.test.ts","frontend/src/views/customer-health/Detail.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-health/__tests__/customer-health.smoke.test.ts","frontend/src/views/customer-journey-orchestration/Detail.vue","frontend/src/views/customer-journey-orchestration/Index.vue","frontend/src/views/customer-journey-orchestration/__tests__/customer-journey-orchestration.smoke.test.ts","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-lifecycle-value/Index.vue","frontend/src/views/customer-lifecycle-value/__tests__/customer-lifecycle-value-g4.smoke.test.ts","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-marketing/components/CampaignForm.vue","frontend/src/views/customer-profit/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/DetailBasicInfo.vue","frontend/src/views/customers/components/DetailHealthScore.vue","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/customers/components/DetailMobile.vue","frontend/src/views/customers/components/DetailRecordTabs.vue","frontend/src/views/customers/components/FormBasicInfo.vue","frontend/src/views/customers/components/FormContacts.vue","frontend/src/views/customers/components/FormDuplicateDialog.vue","frontend/src/views/customers/components/FormServiceConfig.vue","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/customers/components/useCustomerForm.ts","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/dashboard/SimpleTest.vue","frontend/src/views/dashboard/__tests__/dashboard-shell-governance.test.ts","frontend/src/views/dashboard/components/FunnelChart.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/dashboard/components/SLAMetrics.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Form.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/devices/Form.vue","frontend/src/views/devices/Index.vue","frontend/src/views/devices/__tests__/devices.smoke.test.ts","frontend/src/views/diagnosis/Index.vue","frontend/src/views/diagnosis/__tests__/diagnosis-g4.smoke.test.ts","frontend/src/views/diagnosis/components/RecordDetail.vue","frontend/src/views/diagnosis/components/TemplateDetail.vue","frontend/src/views/diagnosis/components/TemplateForm.vue","frontend/src/views/dictionaries/Index.vue","frontend/src/views/dictionaries/__tests__/dictionaries-g4.smoke.test.ts","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/disbursements/Index.vue","frontend/src/views/disbursements/components/ApLedgerFormDialog.vue","frontend/src/views/disbursements/components/ApLedgerTab.vue","frontend/src/views/disbursements/components/ApproveDialog.vue","frontend/src/views/disbursements/components/CancelDialog.vue","frontend/src/views/disbursements/components/DisbursementDetailDialog.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/DisbursementsTab.vue","frontend/src/views/disbursements/components/ExecuteDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoriesTab.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimsTab.vue","frontend/src/views/disbursements/components/MyExpenseClaimsTab.vue","frontend/src/views/disbursements/components/PaymentDialog.input-range.test.ts","frontend/src/views/disbursements/components/PaymentDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-marketing/__tests__/email-marketing-g4.smoke.test.ts","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/email-templates/__tests__/email-templates.smoke.test.ts","frontend/src/views/event-logs/Index.vue","frontend/src/views/event-subscriptions/Index.vue","frontend/src/views/event-subscriptions/__tests__/event-subscriptions-g4.smoke.test.ts","frontend/src/views/event-subscriptions/components/SubscriptionForm.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/expense-claims/__tests__/expense-claims-index.smoke.test.ts","frontend/src/views/faults/Detail.vue","frontend/src/views/faults/Form.vue","frontend/src/views/faults/Index.vue","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/files/Index.vue","frontend/src/views/files/__tests__/files.smoke.test.ts","frontend/src/views/finance-os/__tests__/ai-autopilot-center.smoke.test.ts","frontend/src/views/finance-os/__tests__/ai-decision-pages-interactions.smoke.test.ts","frontend/src/views/finance-os/__tests__/cash-forecast-model-g4.smoke.test.ts","frontend/src/views/finance-os/__tests__/expense-auto-collection-real-pages.smoke.test.ts","frontend/src/views/finance-os/__tests__/finance-governance-shell.smoke.test.ts","frontend/src/views/finance-os/__tests__/pr3-cash-pages.smoke.test.ts","frontend/src/views/finance-os/__tests__/price-types.smoke.test.ts","frontend/src/views/finance-os/__tests__/profit-asset-engine.smoke.test.ts","frontend/src/views/finance-os/__tests__/recognition-rules.smoke.test.ts","frontend/src/views/finance-os/__tests__/risk-credit-cash.smoke.test.ts","frontend/src/views/finance-os/ai/AIAutopilotCenter.vue","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/RoiExpansionAdvisor.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/ExpenseCostEngine.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitAssetEngine.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/RiskCreditHub.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/finance-os/shared/FinanceGovernanceShell.vue","frontend/src/views/finance-periods/Index.vue","frontend/src/views/finance-periods/__tests__/finance-periods-g4.smoke.test.ts","frontend/src/views/finance/Index.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/financial-reports/__tests__/financial-reports-g4.smoke.test.ts","frontend/src/views/fulfillment/AcceptanceAudit.vue","frontend/src/views/fulfillment/Closures.vue","frontend/src/views/fulfillment/Detail.vue","frontend/src/views/fulfillment/Evaluations.vue","frontend/src/views/fulfillment/Exceptions.vue","frontend/src/views/fulfillment/Form.vue","frontend/src/views/fulfillment/Index.vue","frontend/src/views/fulfillment/PlanDetail.vue","frontend/src/views/fulfillment/Plans.vue","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/geo-analysis/Index.vue","frontend/src/views/geo-analytics/Index.vue","frontend/src/views/geo-fences/Form.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Form.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-analytics/Form.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-analytics/__tests__/groupbuy-analytics-g4.smoke.test.ts","frontend/src/views/groupbuy-campaigns/Form.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-commissions/Detail.vue","frontend/src/views/groupbuy-commissions/Index.vue","frontend/src/views/groupbuy-influencers/Form.vue","frontend/src/views/groupbuy-influencers/Index.vue","frontend/src/views/groupbuy-influencers/__tests__/groupbuy-influencers-g4.smoke.test.ts","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-inventory/__tests__/groupbuy-inventory-g4.smoke.test.ts","frontend/src/views/groupbuy-orders/Detail.vue","frontend/src/views/groupbuy-orders/Form.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-orders/__tests__/groupbuy-orders-g4.smoke.test.ts","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-participants/__tests__/groupbuy-participants-g4.smoke.test.ts","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Form.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-pricing/__tests__/groupbuy-pricing.smoke.test.ts","frontend/src/views/groupbuy-products/Detail.vue","frontend/src/views/groupbuy-products/Form.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Form.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-redemptions/Detail.vue","frontend/src/views/groupbuy-redemptions/Index.vue","frontend/src/views/groupbuy-redemptions/VoucherDetail.vue","frontend/src/views/groupbuy-reviews/Detail.vue","frontend/src/views/groupbuy-reviews/Index.vue","frontend/src/views/groupbuy-settlements/Detail.vue","frontend/src/views/groupbuy-settlements/Form.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/Index.vue","frontend/src/views/hr/Workbench.vue","frontend/src/views/hr/__tests__/attendance-payroll-g4.smoke.test.ts","frontend/src/views/hr/__tests__/hr-tabs-query-sync.test.ts","frontend/src/views/hr/__tests__/training-regressions.smoke.test.ts","frontend/src/views/hr/attendance/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/SchedulesTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/benefits/Index.vue","frontend/src/views/hr/benefits/components/ClaimsTab.vue","frontend/src/views/hr/benefits/components/EnrollmentsTab.vue","frontend/src/views/hr/benefits/components/PlansTab.vue","frontend/src/views/hr/payroll/Index.vue","frontend/src/views/hr/payroll/components/GradesTab.vue","frontend/src/views/hr/payroll/components/ItemsTab.vue","frontend/src/views/hr/payroll/components/MyPayslipsTab.vue","frontend/src/views/hr/payroll/components/PeriodsTab.vue","frontend/src/views/hr/payroll/components/StructuresTab.vue","frontend/src/views/hr/shared/pagination.ts","frontend/src/views/hr/training/Index.vue","frontend/src/views/hr/training/components/CapabilityRadarTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CertificationCatalogTab.vue","frontend/src/views/hr/training/components/CoachPracticeTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CourseMarketplaceTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/EffectDashboardTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/LearningPathTab.vue","frontend/src/views/hr/training/components/LearningTab.vue","frontend/src/views/hr/training/components/NineBoxTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/RoiDashboardTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/im-channels/__tests__/im-channels-g4.smoke.test.ts","frontend/src/views/im/ChannelDetail.vue","frontend/src/views/im/ChannelList.vue","frontend/src/views/im/Index.vue","frontend/src/views/im/VideoCallList.vue","frontend/src/views/im/VideoCallRoom.vue","frontend/src/views/im/__tests__/channel-list.smoke.test.ts","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/integration-services/Index.vue","frontend/src/views/integration-services/__tests__/integration-services-index.smoke.test.ts","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/inventory/CountDetail.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Reservations.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/journal-entries/Detail.vue","frontend/src/views/journal-entries/Form.vue","frontend/src/views/journal-entries/Index.vue","frontend/src/views/journal-entries/__tests__/journal-entries-g4.smoke.test.ts","frontend/src/views/journey-orchestration/Detail.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue","frontend/src/views/knowledge-base/__tests__/knowledge-base.smoke.test.ts","frontend/src/views/knowledge-candidates/Detail.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Detail.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/knowledge-feedback/__tests__/knowledge-feedback-index.smoke.test.ts","frontend/src/views/knowledge/Detail.vue","frontend/src/views/knowledge/Feedback.vue","frontend/src/views/knowledge/Form.vue","frontend/src/views/knowledge/Index.vue","frontend/src/views/knowledge/__tests__/knowledge-g4.smoke.test.ts","frontend/src/views/knowledge/components/KnowledgeGraph.vue","frontend/src/views/knowledge/components/KnowledgeHeatmap.vue","frontend/src/views/knowledge/components/KnowledgeROI.vue","frontend/src/views/knowledge/components/KnowledgeVersions.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-assignment/__tests__/lead-assignment-detail.smoke.test.ts","frontend/src/views/lead-assignment/__tests__/lead-assignment-g4.smoke.test.ts","frontend/src/views/lead-assignment/__tests__/lead-assignment.smoke.test.ts","frontend/src/views/lead-import/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Detail.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/lead-qualification/__tests__/lead-qualification-index.smoke.test.ts","frontend/src/views/lead-scoring-ai/BatchPredict.vue","frontend/src/views/lead-scoring-ai/Index.vue","frontend/src/views/lead-scoring-ai/ModelDetail.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/lead-scoring/__tests__/lead-scoring-g4.smoke.test.ts","frontend/src/views/lead-scoring/__tests__/lead-scoring.smoke.test.ts","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/leads/__tests__/leads-index.smoke.test.ts","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/livestream-analytics/Form.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-gifts/Form.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-interactions/Form.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Form.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Detail.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Form.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Form.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/RoomForm.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/livestream/Sessions.vue","frontend/src/views/local-events/Form.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-events/__tests__/local-events.smoke.test.ts","frontend/src/views/local-promotion/Form.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/local-promotion/__tests__/local-promotion.smoke.test.ts","frontend/src/views/location-assessments/Detail.vue","frontend/src/views/location-assessments/Form.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/location-assessments/Score.vue","frontend/src/views/login-logs/Index.vue","frontend/src/views/maintenance/Calendar.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/PlanDetail.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/maintenance/__tests__/maintenance-g4.smoke.test.ts","frontend/src/views/marketing-attribution/Index.vue","frontend/src/views/marketing-attribution/__tests__/marketing-attribution.smoke.test.ts","frontend/src/views/marketing-automation/Form.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-chatbot/Index.vue","frontend/src/views/marketing-chatbot/components/AnalyticsPanel.vue","frontend/src/views/marketing-chatbot/components/BotDialogs.vue","frontend/src/views/marketing-chatbot/components/BotTable.vue","frontend/src/views/marketing-chatbot/components/ConversationTable.vue","frontend/src/views/marketing-chatbot/components/IntentTable.vue","frontend/src/views/marketing-chatbot/components/KnowledgeTable.vue","frontend/src/views/marketing-chatbot/components/StatsCards.vue","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/marketing-chatbot/composables/useChatbotLabels.ts","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-content/__tests__/marketing-content-g4.smoke.test.ts","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Form.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/AccountForm.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/marketing-timeslots/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing-workflows/Form.vue","frontend/src/views/marketing-workflows/Index.vue","frontend/src/views/marketing/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/meddpicc-analyses/Index.vue","frontend/src/views/meddpicc-analyses/__tests__/meddpicc-analyses-index.smoke.test.ts","frontend/src/views/member-benefits/Form.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-benefits/__tests__/member-benefits.smoke.test.ts","frontend/src/views/member-levels/Form.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-levels/__tests__/member-levels.smoke.test.ts","frontend/src/views/member-points/Index.vue","frontend/src/views/member-points/__tests__/member-points.smoke.test.ts","frontend/src/views/members/Form.vue","frontend/src/views/members/Index.vue","frontend/src/views/members/__tests__/members.smoke.test.ts","frontend/src/views/menus/Index.vue","frontend/src/views/menus/__tests__/menus-g4.smoke.test.ts","frontend/src/views/metric-tree/Index.vue","frontend/src/views/multi-touch-attribution/Index.vue","frontend/src/views/multi-touch-attribution/__tests__/multi-touch-attribution.smoke.test.ts","frontend/src/views/notification-configs/Form.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/omnichannel-touchpoints/Index.vue","frontend/src/views/operation-logs/Index.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/opportunities/Index.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/opportunities/__tests__/opportunities-g4.smoke.test.ts","frontend/src/views/opportunities/components/DetailBasicInfo.vue","frontend/src/views/opportunities/components/DetailCollaboration.vue","frontend/src/views/opportunities/components/DetailCompetitors.vue","frontend/src/views/opportunities/components/DetailDialogs.vue","frontend/src/views/opportunities/components/DetailFollowups.vue","frontend/src/views/opportunities/components/DetailHeader.vue","frontend/src/views/opportunities/components/DetailMeddpicc.vue","frontend/src/views/opportunities/components/DetailProducts.vue","frontend/src/views/opportunities/components/DetailQuotes.vue","frontend/src/views/opportunities/components/DetailSamples.vue","frontend/src/views/opportunities/components/DetailSidebar.vue","frontend/src/views/opportunities/components/DetailStageProgress.vue","frontend/src/views/opportunities/components/DetailTeam.vue","frontend/src/views/opportunities/components/SalesCoachDialog.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/Detail.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/orders/__tests__/orders-g4.smoke.test.ts","frontend/src/views/orders/components/DetailDesktop.vue","frontend/src/views/orders/components/DetailMobile.vue","frontend/src/views/orders/components/FormDesktop.vue","frontend/src/views/orders/components/FormMobile.vue","frontend/src/views/orders/composables/useOrderDetail.ts","frontend/src/views/orders/composables/useOrderForm.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/org-chart/Index.vue","frontend/src/views/org-chart/__tests__/org-chart-g4.smoke.test.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partner-customers/Detail.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/partner-customers/__tests__/partner-customers-g4.smoke.test.ts","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/partners/Index.vue","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/payment-analytics/AgingChart.vue","frontend/src/views/payment-analytics/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/pm/Calendar.vue","frontend/src/views/pm/Detail.vue","frontend/src/views/pm/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/pm/__tests__/pm-g4.smoke.test.ts","frontend/src/views/positions/Detail.vue","frontend/src/views/positions/Index.vue","frontend/src/views/positions/PositionTree.vue","frontend/src/views/positions/__tests__/positions-g4.smoke.test.ts","frontend/src/views/predictive-analytics/Detail.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/price-books/__tests__/price-books-gov.smoke.test.ts","frontend/src/views/process-designer/Designer.vue","frontend/src/views/process-designer/ProcessList.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/process-designer/components/BpmnValidator.ts","frontend/src/views/process-designer/components/HistoryManager.ts","frontend/src/views/process-designer/utils/bpmn-export.ts","frontend/src/views/product-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/products/Categories.vue","frontend/src/views/products/Detail.vue","frontend/src/views/products/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/products/LowStockAlert.vue","frontend/src/views/products/__tests__/products-g4.smoke.test.ts","frontend/src/views/profile/Index.vue","frontend/src/views/profile/__tests__/profile-g4.smoke.test.ts","frontend/src/views/projects/Calendar.vue","frontend/src/views/projects/Detail.vue","frontend/src/views/projects/Gantt.vue","frontend/src/views/projects/GlobalGantt.vue","frontend/src/views/projects/Index.vue","frontend/src/views/projects/Milestones.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/DependencyDialog.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/projects/components/gantt/composables/useDependencyLine.ts","frontend/src/views/projects/components/gantt/composables/useProjectGanttData.ts","frontend/src/views/public/PublicLanding.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/purchase-orders/__tests__/purchase-orders-g4.smoke.test.ts","frontend/src/views/qr-codes/Form.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/qr-codes/__tests__/qr-codes.smoke.test.ts","frontend/src/views/quotes/Approval.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/quotes/__tests__/form-calculation.test.ts","frontend/src/views/quotes/__tests__/quotes-index.smoke.test.ts","frontend/src/views/quotes/form-calculation.ts","frontend/src/views/realtime-trigger/Detail.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/realtime/Index.vue","frontend/src/views/reconciliation/Detail.vue","frontend/src/views/reconciliation/Form.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/renewal-tasks/Detail.vue","frontend/src/views/renewal-tasks/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/renewals/__tests__/renewals-g4.smoke.test.ts","frontend/src/views/reports/Detail.vue","frontend/src/views/reports/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/reports/Templates.vue","frontend/src/views/resource-requests/Detail.vue","frontend/src/views/resource-requests/Form.vue","frontend/src/views/resource-requests/index.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/rma/Detail.vue","frontend/src/views/rma/Form.vue","frontend/src/views/rma/Index.vue","frontend/src/views/rma/__tests__/rma-form.smoke.test.ts","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/PermissionAssign.vue","frontend/src/views/roles/components/RoleForm.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/sales-dashboard/Index.vue","frontend/src/views/sales-funnel/Index.vue","frontend/src/views/sample-requests/Detail.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/sample-requests/Index.vue","frontend/src/views/satisfaction/Analytics.vue","frontend/src/views/satisfaction/Detail.vue","frontend/src/views/satisfaction/Form.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/satisfaction/Responses.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/scheduled-jobs/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/search/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/segments/Detail.vue","frontend/src/views/segments/Form.vue","frontend/src/views/segments/Index.vue","frontend/src/views/self-operated-store/Index.vue","frontend/src/views/serial-numbers/Activate.vue","frontend/src/views/serial-numbers/Detail.vue","frontend/src/views/serial-numbers/Form.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/Index.vue","frontend/src/views/service-dashboard/components/AlertsPanel.vue","frontend/src/views/service-dashboard/components/EngineerRankingPanel.vue","frontend/src/views/service-dashboard/components/OverviewCards.vue","frontend/src/views/service-dashboard/components/SLAPanel.vue","frontend/src/views/service-dashboard/components/SatisfactionPanel.vue","frontend/src/views/service-dashboard/components/TicketStatsPanel.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/service-dashboard/composables/useServiceDashboard.ts","frontend/src/views/service-monitor/Index.vue","frontend/src/views/service-monitor/__tests__/service-monitor-g4.smoke.test.ts","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/service/composables/useTicketGanttData.ts","frontend/src/views/settings/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/settings/__tests__/integration-services.smoke.test.ts","frontend/src/views/settings/components/AdPlatformsPanel.vue","frontend/src/views/settings/components/CacheManagement.vue","frontend/src/views/settings/components/EmailConfigPanel.vue","frontend/src/views/settings/components/EventLogsPanel.vue","frontend/src/views/settings/components/GroupbuyPanel.vue","frontend/src/views/settings/components/MetricsPanel.vue","frontend/src/views/settings/components/NotificationSettings.vue","frontend/src/views/settings/components/ProfileSettings.vue","frontend/src/views/settings/components/ScheduledJobsPanel.vue","frontend/src/views/settings/components/ServiceStatusPanel.vue","frontend/src/views/settings/components/SmsConfigPanel.vue","frontend/src/views/settings/components/SystemSettings.vue","frontend/src/views/settings/components/TestResultBlock.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","frontend/src/views/settings/components/useSettings.ts","frontend/src/views/settings/composables/useIntegrationServices.ts","frontend/src/views/shipments/Detail.vue","frontend/src/views/shipments/Form.vue","frontend/src/views/shipments/Index.vue","frontend/src/views/shipments/__tests__/shipments-g4.smoke.test.ts","frontend/src/views/sla/Dashboard.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/sla/components/index.ts","frontend/src/views/sms-marketing/Index.vue","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","frontend/src/views/sms-marketing/composables/useSmsLabels.ts","frontend/src/views/social-accounts/Form.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-analytics/Index.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","frontend/src/views/social-auto-replies/Form.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Form.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Form.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-followers/__tests__/social-followers-g4.smoke.test.ts","frontend/src/views/social-hot-topics/Form.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Form.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-interactions/__tests__/social-interactions-g4.smoke.test.ts","frontend/src/views/social-matrix/Form.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/social-posts/__tests__/social-posts-g4.smoke.test.ts","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/spare-parts/Form.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/SparePartForm.vue","frontend/src/views/spare-parts/components/StockOperationDialog.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","frontend/src/views/store-agency/Index.vue","frontend/src/views/store-configs/Form.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Form.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/Index.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/supplier-management/Scorecards.vue","frontend/src/views/supplier-management/StoreSuppliers.vue","frontend/src/views/supplier-management/__tests__/store-suppliers.smoke.test.ts","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/supplier-payments/__tests__/supplier-payments-index.smoke.test.ts","frontend/src/views/suppliers/Detail.vue","frontend/src/views/suppliers/Form.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/supply-chain/Detail.vue","frontend/src/views/supply-chain/Form.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/supply-chain/Workbench.vue","frontend/src/views/swot-analyses/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-import/Index.vue","frontend/src/views/system-import/__tests__/system-import-g4.smoke.test.ts","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system-monitor/__tests__/system-monitor-g4.smoke.test.ts","frontend/src/views/system-settings/Index.vue","frontend/src/views/system-settings/__tests__/system-settings-g4.smoke.test.ts","frontend/src/views/system/AuditLogs.vue","frontend/src/views/system/Permissions.vue","frontend/src/views/system/__tests__/system-center-g4.smoke.test.ts","frontend/src/views/system/audit-logs/Index.vue","frontend/src/views/system/biz-sequences/Form.vue","frontend/src/views/system/biz-sequences/Index.vue","frontend/src/views/system/params/Index.vue","frontend/src/views/system/tenant-configs/Index.vue","frontend/src/views/targets/Breakdown.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/targets/Form.vue","frontend/src/views/targets/Index.vue","frontend/src/views/targets/__tests__/targets-g4.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tenant-configs/__tests__/tenant-configs-value-format.test.ts","frontend/src/views/tenant-settings/Index.vue","frontend/src/views/tenant-settings/__tests__/tenant-settings-g4.smoke.test.ts","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/tickets/Detail.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/tickets/__tests__/tickets-gov.smoke.test.ts","frontend/src/views/tickets/components/DetailDiagnosis.vue","frontend/src/views/tickets/components/DetailInfo.vue","frontend/src/views/tickets/components/DetailMessages.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/tickets/components/DetailSidebar.vue","frontend/src/views/tickets/components/DetailStageHistory.vue","frontend/src/views/tickets/components/DetailTimeline.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","frontend/src/views/tickets/composables/useTicketDetail.ts","frontend/src/views/tob-toc-gateway/Index.vue","frontend/src/views/treasury/Accounts.vue","frontend/src/views/treasury/CashForecast.vue","frontend/src/views/treasury/DailySettlement.vue","frontend/src/views/treasury/FundScheduling.vue","frontend/src/views/treasury/Index.vue","frontend/src/views/treasury/PaymentRequests.vue","frontend/src/views/treasury/__tests__/treasury-permission-compat.test.ts","frontend/src/views/users/Index.vue","frontend/src/views/users/components/RoleAssign.vue","frontend/src/views/users/components/UserForm.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/utm-tracking/Index.vue","frontend/src/views/video-analytics/Index.vue","frontend/src/views/video-call/Index.vue","frontend/src/views/video-call/__tests__/video-call-g4.smoke.test.ts","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Form.vue","frontend/src/views/video-content/Index.vue","frontend/src/views/video-publishing/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue","frontend/test-pdf-export.html","frontend/tsconfig.json","frontend/tsconfig.node.json","frontend/vite.config.ts","frontend/vitest.config.ts","mobile/.env.development","mobile/.env.production","mobile/.eslintrc.cjs","mobile/index.html","mobile/package.json","mobile/src/App.vue","mobile/src/api/index.ts","mobile/src/api/modules/approvals.ts","mobile/src/api/modules/ar-ledger.ts","mobile/src/api/modules/assets.ts","mobile/src/api/modules/auth.ts","mobile/src/api/modules/biz-sequences.ts","mobile/src/api/modules/campaigns.ts","mobile/src/api/modules/checkin.ts","mobile/src/api/modules/contacts.ts","mobile/src/api/modules/contract-templates.ts","mobile/src/api/modules/contracts.ts","mobile/src/api/modules/cpq.ts","mobile/src/api/modules/crm-activities.ts","mobile/src/api/modules/customer-health.ts","mobile/src/api/modules/customers.ts","mobile/src/api/modules/dashboard.ts","mobile/src/api/modules/departments.ts","mobile/src/api/modules/diagnose.ts","mobile/src/api/modules/diagnosis.ts","mobile/src/api/modules/event-logs.ts","mobile/src/api/modules/event-subscriptions.ts","mobile/src/api/modules/events.ts","mobile/src/api/modules/files.ts","mobile/src/api/modules/finance.ts","mobile/src/api/modules/fulfillment.ts","mobile/src/api/modules/im.ts","mobile/src/api/modules/inventory-reservations.ts","mobile/src/api/modules/inventory.ts","mobile/src/api/modules/invoices.ts","mobile/src/api/modules/knowledge-candidates.ts","mobile/src/api/modules/knowledge-feedback.ts","mobile/src/api/modules/knowledge.ts","mobile/src/api/modules/leads.ts","mobile/src/api/modules/marketing.ts","mobile/src/api/modules/notifications.ts","mobile/src/api/modules/offline.ts","mobile/src/api/modules/opportunities.ts","mobile/src/api/modules/orders.ts","mobile/src/api/modules/partner-customers.ts","mobile/src/api/modules/partners.ts","mobile/src/api/modules/payments.ts","mobile/src/api/modules/pm.ts","mobile/src/api/modules/price-books.ts","mobile/src/api/modules/products.ts","mobile/src/api/modules/projects.ts","mobile/src/api/modules/quotes.ts","mobile/src/api/modules/renewal-tasks.ts","mobile/src/api/modules/renewals.ts","mobile/src/api/modules/reports.ts","mobile/src/api/modules/rma.ts","mobile/src/api/modules/roles.ts","mobile/src/api/modules/sample-requests.ts","mobile/src/api/modules/scheduled-jobs.ts","mobile/src/api/modules/serial-numbers.ts","mobile/src/api/modules/settings.ts","mobile/src/api/modules/shipments.ts","mobile/src/api/modules/sla.ts","mobile/src/api/modules/spare-parts.ts","mobile/src/api/modules/stage-knowledge-packs.ts","mobile/src/api/modules/stage-knowledge.ts","mobile/src/api/modules/statistics.ts","mobile/src/api/modules/supply-chain.ts","mobile/src/api/modules/system-events.ts","mobile/src/api/modules/tasks.ts","mobile/src/api/modules/tenant-configs.ts","mobile/src/api/modules/tickets.ts","mobile/src/api/modules/users.ts","mobile/src/api/modules/visit.ts","mobile/src/api/modules/warehouses.ts","mobile/src/api/modules/workbench.ts","mobile/src/auto-imports.d.ts","mobile/src/components.d.ts","mobile/src/components/assistant/FloatingAssistant.vue","mobile/src/components/cards/CalendarCard.vue","mobile/src/components/cards/CardRenderer.vue","mobile/src/components/cards/FormCard.vue","mobile/src/components/cards/TimelineCard.vue","mobile/src/components/cards/WorkflowCard.vue","mobile/src/components/chat/ChatInput.vue","mobile/src/components/chat/CollaborationPanel.vue","mobile/src/components/chat/MessageBubble.vue","mobile/src/components/chat/MessageList.vue","mobile/src/components/chat/ModuleEventStream.vue","mobile/src/components/chat/ModuleSelector.vue","mobile/src/components/chat/ModuleWorkspaceCard.vue","mobile/src/components/chat/QuickCommandPanel.vue","mobile/src/components/chat/SuggestionChips.vue","mobile/src/components/common/DataList.vue","mobile/src/components/common/EmptyState.vue","mobile/src/components/common/ModuleCard.vue","mobile/src/components/common/PageHeader.vue","mobile/src/components/common/SkeletonLoader.vue","mobile/src/components/dashboard/WorkspaceCard.vue","mobile/src/components/layout/MobileLayout.vue","mobile/src/composables/index.ts","mobile/src/composables/useDebounce.ts","mobile/src/composables/useForm.ts","mobile/src/composables/useList.ts","mobile/src/composables/useLoading.ts","mobile/src/composables/useStorage.ts","mobile/src/composables/useToast.ts","mobile/src/composables/useVoiceInput.ts","mobile/src/composables/useVoiceRecognition.ts","mobile/src/config/moduleEventConfig.ts","mobile/src/config/moduleWorkspaceConfig.ts","mobile/src/constants/api.ts","mobile/src/constants/business.ts","mobile/src/constants/index.ts","mobile/src/constants/ui.ts","mobile/src/env.d.ts","mobile/src/main.ts","mobile/src/router/index.ts","mobile/src/services/ai-agent.ts","mobile/src/services/api.ts","mobile/src/stores/auth.ts","mobile/src/stores/chat.ts","mobile/src/stores/im.ts","mobile/src/stores/index.ts","mobile/src/stores/settings.ts","mobile/src/styles/index.scss","mobile/src/utils/device.ts","mobile/src/utils/format.ts","mobile/src/utils/helpers.ts","mobile/src/utils/index.ts","mobile/src/utils/validate.ts","mobile/src/views/Analytics.vue","mobile/src/views/Approvals.vue","mobile/src/views/Calendar.vue","mobile/src/views/Campaigns.vue","mobile/src/views/Channels.vue","mobile/src/views/Chat.vue","mobile/src/views/ContractDetail.vue","mobile/src/views/ContractForm.vue","mobile/src/views/Contracts.vue","mobile/src/views/CustomerAnalytics.vue","mobile/src/views/Dashboard.vue","mobile/src/views/DeviceDetail.vue","mobile/src/views/DeviceForm.vue","mobile/src/views/Devices.vue","mobile/src/views/Diagnosis.vue","mobile/src/views/Faults.vue","mobile/src/views/IMChat.vue","mobile/src/views/IMConversations.vue","mobile/src/views/Inventory.vue","mobile/src/views/Invoices.vue","mobile/src/views/Knowledge.vue","mobile/src/views/LeadDetail.vue","mobile/src/views/LeadForm.vue","mobile/src/views/Leads.vue","mobile/src/views/Login.vue","mobile/src/views/Messages.vue","mobile/src/views/Opportunities.vue","mobile/src/views/OpportunityDetail.vue","mobile/src/views/OpportunityForm.vue","mobile/src/views/OrderDetail.vue","mobile/src/views/OrderForm.vue","mobile/src/views/Orders.vue","mobile/src/views/PaymentAnalytics.vue","mobile/src/views/Payments.vue","mobile/src/views/Profile.vue","mobile/src/views/Promotions.vue","mobile/src/views/QuickActions.vue","mobile/src/views/QuoteDetail.vue","mobile/src/views/QuoteForm.vue","mobile/src/views/Quotes.vue","mobile/src/views/RMA.vue","mobile/src/views/Reminders.vue","mobile/src/views/Renewals.vue","mobile/src/views/Reports.vue","mobile/src/views/SalesDashboard.vue","mobile/src/views/Satisfaction.vue","mobile/src/views/SerialNumbers.vue","mobile/src/views/Settings.vue","mobile/src/views/Shipments.vue","mobile/src/views/Social.vue","mobile/src/views/SpareParts.vue","mobile/src/views/Targets.vue","mobile/src/views/TicketDetail.vue","mobile/src/views/TicketForm.vue","mobile/src/views/Tickets.vue","mobile/src/views/Todos.vue","mobile/src/views/Tutorials.vue","mobile/src/views/modules/ModuleList.vue","mobile/src/views/settings/AppearanceSettings.vue","mobile/src/views/settings/BehaviorSettings.vue","mobile/src/views/settings/NotificationSettings.vue","mobile/src/views/settings/QuickActionsSettings.vue","mobile/src/views/settings/VoiceSettings.vue","mobile/tsconfig.json","mobile/tsconfig.node.json","mobile/vite.config.ts","scripts/analyze-frontend-menu-coverage.ts","scripts/analyze-frontend.sh","scripts/audit-list-page-routes.ts","scripts/audit-page-click-interactions.ts","scripts/auto-fix/fixers/frontend-api-types.ts","scripts/check-menu-alignment.ts","scripts/check-view-db-consistency.ts","scripts/fix-error-unknown-usage.sh","scripts/fix-frontend-any-types.ts","scripts/fix-menu-groups.ts","scripts/generate-ktv-frontend.ts","scripts/migrate-to-uselistpage.ts","scripts/monitor-process-core-migration.ts"],"modified":[".agents/skills/brand-guidelines/SKILL.md",".agents/skills/frontend-design/SKILL.md",".agents/skills/source-command-juhi-api/SKILL.md",".agents/skills/source-command-juhi-verify/SKILL.md",".agents/skills/webapp-testing/SKILL.md",".claude/skills/brand-guidelines/SKILL.md",".claude/skills/frontend-design/SKILL.md",".claude/skills/juhi-deploy-runbook/SKILL.md",".claude/skills/juhi/api.md",".claude/skills/juhi/fullstack.md",".claude/skills/juhi/migrate.md",".claude/skills/juhi/references/fullstack-templates.md",".claude/skills/juhi/references/view-templates.md",".claude/skills/juhi/store.md",".claude/skills/juhi/typescript.md",".claude/skills/juhi/view.md",".claude/skills/webapp-testing/SKILL.md",".codex/skills/juhi-frontend-view-governance/SKILL.md",".codex/skills/juhi-frontend-view-governance/checklist.md",".codex/skills/juhi-frontend-view-governance/references/entrypoints.md",".dockerignore",".dockerignore.local",".gitea/workflows/ci.yml","00-部署指南-完整版.md","AGENTS.md","CLAUDE.md","DEPLOY.md","DOCKER.md","Makefile","README.md","backend/src/modules/livestream/livestream.schema.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.docs.ts","backend/src/modules/rma/rma.schema.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/rma/rma.service.ts","docker-compose.eios.yml","docker-compose.local-prod.yml","docker-compose.prod.yml","docker-compose.yml","docs/api/openapi.json","docs/api/openapi.yaml","docs/architecture/view-driven-database.md","docs/eios-transformation/README.md","docs/eios-transformation/inventory/README.md","docs/eios-transformation/inventory/app-manifest.draft.json","docs/eios-transformation/inventory/context-providers.md","docs/eios-transformation/inventory/cross-app-access.md","docs/eios-transformation/inventory/dead-code-and-root.md","docs/eios-transformation/inventory/module-disposition.md","docs/eios-transformation/inventory/permissions.md","docs/eios-transformation/inventory/sandbox-tools.md","docs/eios-transformation/inventory/scripts/gen_manifest.py","docs/eios-transformation/inventory/scripts/gen_permissions.py","docs/eios-transformation/inventory/scripts/inv_common.py","docs/eios-transformation/总设计-2026-10-27.md","docs/eios-transformation/改造计划-2026-10-28.md","docs/guides/JUHI-SKILLS.md","docs/guides/development-guide.md","docs/guides/frontend-dev-guide.md","docs/guides/frontend-integration-guide.md","docs/guides/frontend-ui-test-specification.md","docs/guides/full-stack-audit-lessons.md","docs/guides/full-stack-consistency-guide.md","docs/guides/quick-start.md","docs/guides/typescript-best-practices.md","e2e/package.json","e2e/playwright.config.ts","e2e/scripts/lib/finance-os-governance.mjs","e2e/scripts/lib/view-audit.mjs","e2e/scripts/lib/view-audit.overrides.mjs","e2e/scripts/lib/view-governance.mjs","e2e/scripts/select-changed-modules.mjs","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/frontend-runtime-quality-audit.latest.json","reports/view-module-audit.latest.json","scripts/analyze-todos.ts","scripts/archive/ROUTER-SUPPLEMENT.ts","scripts/archive/verify-roi-rename.sh","scripts/audit-chart-imports.ts","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-frontend-runtime-quality.ts","scripts/audit-menu-inventory.ts","scripts/audit-permission-keys.mjs","scripts/audit-project-census.ts","scripts/audit-response-columns.ts","scripts/audit-type-debt.ts","scripts/auto-fix/index.ts","scripts/check-consistency.ts","scripts/check-env.sh","scripts/check-no-new-any.ts","scripts/cleanup.sh","scripts/deploy-all.sh","scripts/governance-commander-seed-artifacts.ts","scripts/harness/agents.ts","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/module-resolver.ts","scripts/harness/pipelines.ts","scripts/harness/production-release-gate.test.ts","scripts/harness/report.ts","scripts/hooks/post-tool-lint-file.sh","scripts/hooks/post-tool-typecheck.sh","scripts/hooks/pre-compact-save.sh","scripts/hooks/pre-tool-block-env.sh","scripts/hooks/session-end-distill.sh","scripts/lib/governance-commander.ts","scripts/preload-prod-images.sh","scripts/project-health-check.ts","scripts/r.sh","scripts/redeploy-frontend.sh","scripts/restart-dev.sh","scripts/start-all.sh","scripts/sync-local-env.sh","shared/package.json","shared/src/composables/useStateMachine.ts","shared/src/composables/useTenantContext.ts","shared/src/constants/index.ts","shared/src/types/field-mappings.ts","shared/src/types/leads.ts","shared/src/types/models.ts","shared/src/utils/permission-checker.ts"]},"repository":{"id":160,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub-eios","full_name":"luoanwu/juhi-omni-knowledge-hub-eios","description":"巨嗨全域智库 EIOS 化独立改造仓(由本地改造副本推送;原 luoanwu/juhi-omni-knowledge-hub 不动)","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2103016,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub-eios/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub-eios","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub-eios.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios.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":"eios/w0","archived":false,"created_at":"2026-10-30T09:22:23+08:00","updated_at":"2026-10-31T15:35:53+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
|
10
|
1793579632
|
1793580013
|
0
|
1793579631
|
1793580013
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
25179
|
feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口
|
51
|
5
|
ci.yml
|
44
|
5
|
0
|
refs/heads/main
|
eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ca4022d7692cfbd6b667348aae3bc4697fe523ca","after":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/ca4022d7692cfbd6b667348aae3bc4697fe523ca...eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","commits":[{"id":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","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-03T17:17:45-07:00","added":[],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-fission.jsx"]}],"total_commits":0,"head_commit":{"id":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","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-03T17:17:45-07:00","added":[],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-fission.jsx"]},"repository":{"id":51,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":89987,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-10-04T08:24: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
|
3
|
5
|
0
|
1791075933
|
0
|
1791074440
|
1791075933
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
25180
|
feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口
|
51
|
5
|
e2e.yml
|
45
|
5
|
0
|
refs/heads/main
|
eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ca4022d7692cfbd6b667348aae3bc4697fe523ca","after":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/ca4022d7692cfbd6b667348aae3bc4697fe523ca...eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","commits":[{"id":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","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-03T17:17:45-07:00","added":[],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-fission.jsx"]}],"total_commits":0,"head_commit":{"id":"eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","message":"feat(fission): 裂变屏补开团、代客参团、成员详情与转介绍绑定 / 手动发奖入口\n\n后端 /group-buys 与 /referrals 的写接口早已就绪并有并发防护,但裂变屏只调了\n列表、结算、退回三个接口,开团、参团、绑定邀请关系、手动发奖都没有界面入口。\n本次只动前端,不改后端与 api.js(五个方法原本就在)。\n\n- 发起拼团:选在售套餐、成团人数、团价、团名、奖励方式、招募有效期、可选团长;\n 校验口径同后端 createGroupBuySchema,非法值在页面拦下不发请求\n- 代客参团:招募中的团可替到店会员占名额,已在团内的会员不出现在选项里;\n 已过截止时间的团不再放行参团(后端目前不校验截止时间,见下)\n- 成员详情:展开时取 /group-buys/:id 的最新成员、团长与获奖标记、各时间点\n- 绑定邀请关系:邀请人 / 被邀人下拉,已选邀请人与已绑定过的会员不可选作被邀人\n- 手动发放转介绍奖励:列出被邀人的已核销订单作为首单凭据,没有则说明原因并禁用\n- 权限同后端 requireRole:店员只见代客参团与绑定,不见开团 / 结算 / 退回 / 发奖\n- 会员、套餐下拉在首次打开表单时才加载;加载失败明示,不显示成「暂无」\n- 写操作防重复提交;成功与失败后都重新拉列表;结果提示固定在视口内\n- 离线样例模式表单可打开,提交只提示、不发请求\n\n验证(一次性 PG + 本分支自起的后端与静态服,桌面 + 手机两个浏览器项目):\n- 前端 npm test / lint / build 通过\n- e2e 新增 4 条深度流程:开团到结算、绑定与无首单不可发奖、凭已核销订单手动发奖、\n 店员入口可见性\n- 基线 a244264 上全量 150 条:147 通过、1 条按设计跳过(种子里可手动发奖的那一对\n 同库只能发一次,第二个浏览器项目跳过)、2 条失败为 07-governance 自助注册用例缺\n ENABLE_SELF_REGISTRATION 开关,主线随后在 e4707f5 的 Playwright 配置里补上\n- rebase 到 ca4022d 后重跑深度流程 + 裂变冒烟 + 注册用例共 24 条:23 通过、\n 1 条按设计跳过;未在 ca4022d 上重跑全量\n\n未做(已另行登记):奖励券码无接口可查、后端不校验拼团截止时间也不自动过期、\n储值赠金团在获奖人无钱包时卡在已满员、团价无上限。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/eccbba06b493fe3de7a10ea2522cd8ca9fd09bc9","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-03T17:17:45-07:00","added":[],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-fission.jsx"]},"repository":{"id":51,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":89987,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-10-04T08:24:29+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1791117559
|
1791117607
|
0
|
1791074440
|
1791117607
|
|
|
0
|
Edit
Delete
|
|
23587
|
feat(facts): 新增事实导出准入规划
|
97
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
a54db31c626be2ee1d48d10fe18bb0c74a9c47aa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"a54db31c626be2ee1d48d10fe18bb0c74a9c47aa","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"a54db31c626be2ee1d48d10fe18bb0c74a9c47aa","message":"feat(facts): 新增事实导出准入规划\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/a54db31c626be2ee1d48d10fe18bb0c74a9c47aa","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["apps/api-nestjs/src/facts/fact-export-planning.service.ts","docs/domain/fact-delivery-blueprint.md","packages/contracts/src/fact-delivery.test.ts","packages/contracts/src/fact-delivery.ts","packages/contracts/src/fact-export-planner.test.ts","packages/contracts/src/fact-export-planner.ts"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"02a26c024daa9fa8304a0691a1ceeb699da10ce5","message":"chore: 真实 DB 验收首跑证据(202 tests / 0 failures,clean @ 1ce8bfe)+ P7 补 testsPassed 地板\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/02a26c024daa9fa8304a0691a1ceeb699da10ce5","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:05:38-07:00","added":["reports/runtime-acceptance.latest.json"],"removed":[],"modified":["reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"1ce8bfe4e03f69863a3c95f349b23509f3b900da","message":"chore: 治理基线由本仓真实数字初始化(源仓地板不迁入,迁移手册步骤6/P7)\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/1ce8bfe4e03f69863a3c95f349b23509f3b900da","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:58:51-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/baseline.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"9abc607d97a5e3b908fde184ed54682bfbc2f87a","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/9abc607d97a5e3b908fde184ed54682bfbc2f87a","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:58:03-07:00","added":["reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"bd6accc0ee8df440cc3bc7838aad11c0fb7e5adf","message":"feat: 平台身份重绑定 fact-backbone(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/bd6accc0ee8df440cc3bc7838aad11c0fb7e5adf","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:57:57-07:00","added":["docs/framework-migration.md","products/juhai.factbackbone/README.md","products/juhai.factbackbone/acceptance/juhai.factbackbone.order.acceptance.mjs","products/juhai.factbackbone/migrations/juhai.factbackbone.order/20260826090000_create_orders.sql","products/juhai.factbackbone/migrations/juhai.factbackbone.order/20260826091000_create_order_events.sql","products/juhai.factbackbone/package.json","products/juhai.factbackbone/product.manifest.json","products/juhai.factbackbone/src/contracts.ts","products/juhai.factbackbone/src/fastify.ts","products/juhai.factbackbone/src/host.ts","products/juhai.factbackbone/src/index.ts","products/juhai.factbackbone/src/manifest.ts","products/juhai.factbackbone/src/nestjs.ts","products/juhai.factbackbone/src/order-repository.ts","products/juhai.factbackbone/src/tools.ts","products/juhai.factbackbone/src/web.tsx","products/juhai.factbackbone/test/os-host.runtime.test.ts","products/juhai.factbackbone/tsconfig.os-host.json","products/juhai.factbackbone/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]}],"total_commits":0,"head_commit":{"id":"a54db31c626be2ee1d48d10fe18bb0c74a9c47aa","message":"feat(facts): 新增事实导出准入规划\n","url":"https://gitea.g-hi.com/luoanwu/fact-backbone/commit/a54db31c626be2ee1d48d10fe18bb0c74a9c47aa","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["apps/api-nestjs/src/facts/fact-export-planning.service.ts","docs/domain/fact-delivery-blueprint.md","packages/contracts/src/fact-delivery.test.ts","packages/contracts/src/fact-delivery.ts","packages/contracts/src/fact-export-planner.test.ts","packages/contracts/src/fact-export-planner.ts"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":97,"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":"fact-backbone","full_name":"luoanwu/fact-backbone","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/fact-backbone/languages","html_url":"https://gitea.g-hi.com/luoanwu/fact-backbone","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/fact-backbone","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/fact-backbone.git","clone_url":"https://gitea.g-hi.com/luoanwu/fact-backbone.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:57:55+08:00","updated_at":"2026-09-01T21:59:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788271289
|
1788271314
|
0
|
1788271184
|
1788280740
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
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
|
|
24320
|
feat(fact): register() 只接受 contracts 登记的 schema(随包 feat(fact): register() 只接受 contracts 登记的 schema(随包规范化摘要)——对抗验收 F2 收口...
|
116
|
5
|
platform.yml
|
232
|
5
|
0
|
refs/heads/main
|
2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"daf6d5b792e3927a3eaa10e4a0539d95aa03fa39","after":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/daf6d5b792e3927a3eaa10e4a0539d95aa03fa39...2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","commits":[{"id":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","message":"feat(fact): register() 只接受 contracts 登记的 schema(随包规范化摘要)——对抗验收 F2 收口\n\n镜像里没有 contracts/、偏差 #19 禁止复制 schema,故随 fact 模块打包 contracts 每份 Fact / envelope schema 的规范化摘要\n(governance/sync-fact-schema-digests.mjs --write → runtime/modules/fact/src/facts/schema-digests.json,envelope 1 / payloads 16,\n规范化与 @juhai/client-fact canonicalJson 同形)。FactStore.register() 先 assertSchemaBoundToContracts:类型@版本不在表 /\npayload 摘要不等 / envelope 摘要不在表分别拒 FACT_TYPE_NOT_IN_CONTRACTS / PAYLOAD_SCHEMA_NOT_CONTRACTS / ENVELOPE_SCHEMA_NOT_CONTRACTS。\n漂移由 governance/test/module-facts.test.mjs 守(根链第 16 环)。fact 单测 +5(99/99)、typecheck / build 通过;治理单测 558 / 557 / 1 skipped。\nruntime 代码面变化,dev 镜像 4169046 未重建:切 dev 前须在含本提交的 clean 树跑 check:runtime 并回绑。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","author":{"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:38:15-07:00","added":["docs/acceptance/2026-09-20/f2.after-fix.json","governance/sync-fact-schema-digests.mjs","runtime/modules/fact/src/facts/schema-digests.json","runtime/modules/fact/src/persistence/schema-binding.test.ts","runtime/modules/fact/src/persistence/schema-binding.ts"],"removed":[],"modified":["docs/治理门禁对抗性验收-2026-09-20.md","governance/test/module-facts.test.mjs","runtime/modules/fact/src/persistence/fact-store.ts"]}],"total_commits":0,"head_commit":{"id":"2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","message":"feat(fact): register() 只接受 contracts 登记的 schema(随包规范化摘要)——对抗验收 F2 收口\n\n镜像里没有 contracts/、偏差 #19 禁止复制 schema,故随 fact 模块打包 contracts 每份 Fact / envelope schema 的规范化摘要\n(governance/sync-fact-schema-digests.mjs --write → runtime/modules/fact/src/facts/schema-digests.json,envelope 1 / payloads 16,\n规范化与 @juhai/client-fact canonicalJson 同形)。FactStore.register() 先 assertSchemaBoundToContracts:类型@版本不在表 /\npayload 摘要不等 / envelope 摘要不在表分别拒 FACT_TYPE_NOT_IN_CONTRACTS / PAYLOAD_SCHEMA_NOT_CONTRACTS / ENVELOPE_SCHEMA_NOT_CONTRACTS。\n漂移由 governance/test/module-facts.test.mjs 守(根链第 16 环)。fact 单测 +5(99/99)、typecheck / build 通过;治理单测 558 / 557 / 1 skipped。\nruntime 代码面变化,dev 镜像 4169046 未重建:切 dev 前须在含本提交的 clean 树跑 check:runtime 并回绑。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2d11ee6ad1a5fabb295eae59e5e0b7e1f7f6c8cb","author":{"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:38:15-07:00","added":["docs/acceptance/2026-09-20/f2.after-fix.json","governance/sync-fact-schema-digests.mjs","runtime/modules/fact/src/facts/schema-digests.json","runtime/modules/fact/src/persistence/schema-binding.test.ts","runtime/modules/fact/src/persistence/schema-binding.ts"],"removed":[],"modified":["docs/治理门禁对抗性验收-2026-09-20.md","governance/test/module-facts.test.mjs","runtime/modules/fact/src/persistence/fact-store.ts"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":31531,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":44,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-21T12:11: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
|
34
|
1789965854
|
1789965919
|
0
|
1789965498
|
1789965956
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23586
|
feat(experience): 新增体验贡献复核
|
99
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
55301b4f6982b6f43812122ef534914b093fc061
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"55301b4f6982b6f43812122ef534914b093fc061","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"55301b4f6982b6f43812122ef534914b093fc061","message":"feat(experience): 新增体验贡献复核\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/55301b4f6982b6f43812122ef534914b093fc061","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/experience-contribution-blueprint.md","packages/contracts/src/experience-contribution.test.ts","packages/contracts/src/experience-contribution.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d1ceb480adcfcd48e38ac85cb48a12a5465fd42e","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/d1ceb480adcfcd48e38ac85cb48a12a5465fd42e","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:15-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"511e9cff89a6fd623e5f9aaf7aa894ba2b1a2c2e","message":"feat: 平台身份重绑定 experience-platform(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/511e9cff89a6fd623e5f9aaf7aa894ba2b1a2c2e","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:08-07:00","added":["docs/framework-migration.md","products/juhai.experience/README.md","products/juhai.experience/acceptance/juhai.experience.order.acceptance.mjs","products/juhai.experience/migrations/juhai.experience.order/20260826090000_create_orders.sql","products/juhai.experience/migrations/juhai.experience.order/20260826091000_create_order_events.sql","products/juhai.experience/package.json","products/juhai.experience/product.manifest.json","products/juhai.experience/src/contracts.ts","products/juhai.experience/src/fastify.ts","products/juhai.experience/src/host.ts","products/juhai.experience/src/index.ts","products/juhai.experience/src/manifest.ts","products/juhai.experience/src/nestjs.ts","products/juhai.experience/src/order-repository.ts","products/juhai.experience/src/tools.ts","products/juhai.experience/src/web.tsx","products/juhai.experience/test/os-host.runtime.test.ts","products/juhai.experience/tsconfig.os-host.json","products/juhai.experience/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"92bc270a242276f9660652beee3bee68df31c394","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/92bc270a242276f9660652beee3bee68df31c394","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:18-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"6db4550f946602857b0b4d190cb455d65ed9cf10","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/6db4550f946602857b0b4d190cb455d65ed9cf10","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:46:46-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"55301b4f6982b6f43812122ef534914b093fc061","message":"feat(experience): 新增体验贡献复核\n","url":"https://gitea.g-hi.com/luoanwu/experience-platform/commit/55301b4f6982b6f43812122ef534914b093fc061","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/experience-contribution-blueprint.md","packages/contracts/src/experience-contribution.test.ts","packages/contracts/src/experience-contribution.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":99,"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":"experience-platform","full_name":"luoanwu/experience-platform","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/experience-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/experience-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/experience-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/experience-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/experience-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:57:59+08:00","updated_at":"2026-09-01T21:59:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1788271264
|
1788271289
|
0
|
1788271184
|
1788280740
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
24450
|
feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费 feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)...
|
76
|
5
|
governance.yml
|
132
|
5
|
0
|
refs/heads/main
|
5e74b570d66afa7b74530bcc0264ab3c4abf95ad
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c9109de87bdf60dd818cf35dbec34de148a28e9","after":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/0c9109de87bdf60dd818cf35dbec34de148a28e9...5e74b570d66afa7b74530bcc0264ab3c4abf95ad","commits":[{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":96085,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-24T07:10:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
36
|
1790205304
|
1790205313
|
0
|
1790205303
|
1790205328
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24451
|
feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费 feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)...
|
76
|
5
|
platform-governance.yml
|
133
|
5
|
0
|
refs/heads/main
|
5e74b570d66afa7b74530bcc0264ab3c4abf95ad
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0c9109de87bdf60dd818cf35dbec34de148a28e9","after":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/0c9109de87bdf60dd818cf35dbec34de148a28e9...5e74b570d66afa7b74530bcc0264ab3c4abf95ad","commits":[{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]}],"total_commits":0,"head_commit":{"id":"5e74b570d66afa7b74530bcc0264ab3c4abf95ad","message":"feat(experience): C18 企业业务 Shell「企业应用」区(DEC-044 消费侧)\n\n- 契约:@repo/contracts 1.28.0 新增 experience-shell.ts——贡献/来源清单/平台复核结论/入口视图 Zod、\n parseExperienceSources(EXPERIENCE_SOURCES 整组校验,非法即 configured:false)、\n selectDisplayableEntries(只留 DISPLAY_AUTHORIZED 与 STALE_DISPLAY_ONLY(stale),租户/应用不符、\n 深链越站、重复一律丢弃)与两后端共用的编排 readExperienceEntries(传输注入,逐源失败关闭)。\n- 后端:GET /api/experience/entries 两后端对等(NestJS ExperienceModule / Fastify experienceRoute),\n 任意已验签租户成员可读,租户只取鉴权上下文;外呼固定 5s 超时、redirect:\"error\"、有界读取;\n 平台复核体恰为 {contribution},用 OS 服务身份;BLOCKED/REJECT 只进服务端日志;不缓存复核结论、零写入。\n- Web:features/experience(api + TanStack Query hook + EnterpriseAppsNav),挂在 KernelWorkspaceShell\n 桌面侧栏;新标签页 noopener noreferrer,stale 显示「可能已过期」;出错/未配置/无条目整区隐藏。\n- 治理:owner-matrix 登记 ExperienceContributionView + 蓝图 experience-shell-blueprint.md;词典登记\n `experience contribution` 并注明与 learning 域 `experience` 不同义;governance.registry 新增 experience 域\n (6 条 parity 断言);内核边界 Core 归属与 lock、包/下游/导出锁同步;三份 .env.example 记录变量。\n- 接待流程:本运行时未暴露 OS 仓 business-module-intake 技能,按 CLAUDE.md 七维清单手工执行\n (对象归属/闭环/无状态机/无事件/读模型/租户边界/验收口径见蓝图)。\n\n测试:contracts 49 例(全套 393/393)+ 两后端各 8 例注入 fetch 模块测试 + 各 6 例真实路由验收\n(一次性 PG/Redis,本地工作区)。未做与真实企业控制面/工单来源的联调、未跑完整 check:runtime / check:ui。\npnpm check 在 check:rls 红(juhai.hr 两张产品表缺 GRANT,main 上即如此);docs-truth 余两项\n(own-test-cases 当前值、快照锚点滞后)为 main 既有漂移,reports/ 未随本提交刷新。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5e74b570d66afa7b74530bcc0264ab3c4abf95ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T11:03:06-07:00","added":["apps/api-fastify/src/modules/experience-shell.service.ts","apps/api-fastify/src/routes/experience.ts","apps/api-fastify/test/experience-shell.test.ts","apps/api-fastify/test/experience.acceptance.test.ts","apps/api-nestjs/src/experience/experience-shell.service.ts","apps/api-nestjs/src/experience/experience.controller.ts","apps/api-nestjs/src/experience/experience.module.ts","apps/api-nestjs/test/experience-shell.test.ts","apps/api-nestjs/test/experience.acceptance.test.ts","apps/web/src/features/experience/api/experience-api.ts","apps/web/src/features/experience/components/EnterpriseAppsNav.tsx","apps/web/src/features/experience/hooks/use-experience-entries.ts","docs/domain/experience-shell-blueprint.md","packages/contracts/src/experience-shell.test.ts","packages/contracts/src/experience-shell.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/app.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/app.module.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","deploy/production/.env.production.example","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/product-extension-guide.md","governance.registry.json","kernel.boundaries.json","kernel.boundaries.lock.json","kernel.downstream.lock.json","kernel.exports.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/contracts/package.json","packages/contracts/src/index.ts"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":96085,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-24T07:10:51+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1790205313
|
1790205322
|
0
|
1790205304
|
1790205328
|
|
|
0
|
Edit
Delete
|
|
26016
|
feat(execution): deliver verified bounded local ac feat(execution): deliver verified bounded local acceptance and close write access...
|
51
|
5
|
ci.yml
|
120
|
5
|
0
|
refs/heads/main
|
a87cd59196a874e4335bcc461d811db45ee5f8cf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dfcae96585f92e3935a25050d1f8ed677b4e5009","after":"a87cd59196a874e4335bcc461d811db45ee5f8cf","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/dfcae96585f92e3935a25050d1f8ed677b4e5009...a87cd59196a874e4335bcc461d811db45ee5f8cf","commits":[{"id":"a87cd59196a874e4335bcc461d811db45ee5f8cf","message":"feat(execution): deliver verified bounded local acceptance and close write access\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/a87cd59196a874e4335bcc461d811db45ee5f8cf","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-17T02:30:41-07:00","added":["docs/evidence/enterprise-execution-2026-10-17/final-acceptance.json"],"removed":[],"modified":["README.md","docs/contracts/enterprise-execution.md","docs/deployments/enterprise-execution-local-2026-10-17.md","docs/enterprise-execution-local-2026-10-17.md","governance/enterprise-execution-final-acceptance-request.json","governance/enterprise-execution.local-development.json","团购本地生活AI运营App/screens-real-modules.jsx","治理经验库.md"]},{"id":"4f47cf93a3440724a5fc78d66f72a3ce5ed48b5a","message":"fix(execution): repair explicit evaluation rejection without rerunning\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/4f47cf93a3440724a5fc78d66f72a3ce5ed48b5a","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-17T02:25:41-07:00","added":[],"removed":[],"modified":["docs/deployments/enterprise-execution-local-2026-10-17.md","server/src/modules/enterprise/execution-service.ts","server/src/openapi.ts","server/test/r64-enterprise-execution.test.ts"]}],"total_commits":0,"head_commit":{"id":"a87cd59196a874e4335bcc461d811db45ee5f8cf","message":"feat(execution): deliver verified bounded local acceptance and close write access\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/a87cd59196a874e4335bcc461d811db45ee5f8cf","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-17T02:30:41-07:00","added":["docs/evidence/enterprise-execution-2026-10-17/final-acceptance.json"],"removed":[],"modified":["README.md","docs/contracts/enterprise-execution.md","docs/deployments/enterprise-execution-local-2026-10-17.md","docs/enterprise-execution-local-2026-10-17.md","governance/enterprise-execution-final-acceptance-request.json","governance/enterprise-execution.local-development.json","团购本地生活AI运营App/screens-real-modules.jsx","治理经验库.md"]},"repository":{"id":51,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":94801,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-10-17T16:44:26+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
|
1792229467
|
1792229545
|
0
|
1792229466
|
1792229545
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|