|
23570
|
Add one-command project startup workflow
|
91
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
a525a82e040047e8158104b3fd1b2800a1943132
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c1d59277c1c321407babdaf3ad6fe26c73e7cb55","after":"a525a82e040047e8158104b3fd1b2800a1943132","compare_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/compare/c1d59277c1c321407babdaf3ad6fe26c73e7cb55...a525a82e040047e8158104b3fd1b2800a1943132","commits":[{"id":"a525a82e040047e8158104b3fd1b2800a1943132","message":"Add one-command project startup workflow\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/a525a82e040047e8158104b3fd1b2800a1943132","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-30T16:23:16-07:00","added":["deploy/workspace.sh","start-qwen.command"],"removed":[],"modified":["LOCAL_DEPLOYMENT.md","Makefile","README.md","deploy/local.sh","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"a525a82e040047e8158104b3fd1b2800a1943132","message":"Add one-command project startup workflow\n","url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next/commit/a525a82e040047e8158104b3fd1b2800a1943132","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-30T16:23:16-07:00","added":["deploy/workspace.sh","start-qwen.command"],"removed":[],"modified":["LOCAL_DEPLOYMENT.md","Makefile","README.md","deploy/local.sh","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":91,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"qwen3-8-flash-next","full_name":"luoanwu/qwen3-8-flash-next","description":"Qwen3.8-Flash-Next 本地部署与多模态 Chat/RAG 工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3093,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next/languages","html_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/qwen3-8-flash-next","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/qwen3-8-flash-next.git","clone_url":"https://gitea.g-hi.com/luoanwu/qwen3-8-flash-next.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-30T09:20:06+08:00","updated_at":"2026-08-30T11:16:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
8
|
1788132202
|
1788132365
|
0
|
1788132201
|
1788132365
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23637
|
chore(governance): 对抗性验收复审与门禁收紧;检查点收纳并行会话进行中工作
|
57
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
a08628dd493b9ddcb20d9e326758d64dc36a0056
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a228915e1a104c81591ac55a929061b082e8d7e6","after":"a08628dd493b9ddcb20d9e326758d64dc36a0056","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/a228915e1a104c81591ac55a929061b082e8d7e6...a08628dd493b9ddcb20d9e326758d64dc36a0056","commits":[{"id":"a08628dd493b9ddcb20d9e326758d64dc36a0056","message":"chore(governance): 对抗性验收复审与门禁收紧;检查点收纳并行会话进行中工作\n\n对抗审计(本会话):\n- script 验收报告绑定源码指纹并登记为源码绑定重型门禁(此前基线表 ✅ 从未被机器比对)\n- ownTests 棘轮地板 31→48;check:production 禁 skip 名单扩到 nestjs/fastify-production\n- 定位并复现脚本验收固定租户的并行 runner 污染,验证 run-scoped 租户修复(Fastify 套件 ×2 通过)\n- 真实库探针:非终态结果 fail-open、reconcile 判责根因错(并行会话已修,本会话复验,套件各 12/12)\n- 并行会话新增契约注释命中命名禁用词 terminal,改为 final\n- 记录进行中的 Compose 认证模式改动使 check:production-security 红,未放宽检查器\n- 对抗审计报告新增复审节,CLAUDE.md 复审节与基线表行同步\n\n检查点同时收纳并行会话进行中的工作:创作 Worker 模块隔离、视频进度契约、队列隔离策略、\n模型凭证存储(packages/model-credentials、sidecar model_credentials.py)、脚本验收 run-scoped 租户、\nCompose MATERIAL_AUTH_MODE 等。全仓 typecheck / lint 通过;pnpm check 因 productionSecurityViolations=1\n(Compose IdP 配置改为可选,待与检查器规则同步)未全绿。可用 git reset --soft HEAD~1 撤销本检查点。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a08628dd493b9ddcb20d9e326758d64dc36a0056","author":{"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:34:23-07:00","added":["apps/api-fastify/test/creative-queue-isolation.integration.test.ts","apps/api-fastify/test/creative-video-progress.integration.test.ts","apps/api-fastify/test/model-credentials.integration.test.ts","apps/api-nestjs/src/creative-project/creative-worker.module.ts","apps/api-nestjs/test/creative-queue-isolation.integration.test.ts","apps/api-nestjs/test/creative-video-progress.integration.test.ts","apps/api-nestjs/test/model-credentials.integration.test.ts","docs/model-credentials.md","packages/contracts/src/creative-queue-policy.test.ts","packages/contracts/src/creative-queue-policy.ts","packages/contracts/src/creative-video-progress.test.ts","packages/contracts/src/creative-video-progress.ts","packages/model-credentials/package.json","packages/model-credentials/src/index.test.ts","packages/model-credentials/src/index.ts","packages/model-credentials/tsconfig.json","reports/acceptance-convergence-2026-09-05.md","reports/creative-breakpoint-fix-2026-09-05.md","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","services/model-sidecar/model_credentials.py","services/model-sidecar/test_llm_preflight.py","services/model-sidecar/test_managed_credentials.py"],"removed":[],"modified":[".dockerignore","CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/creative-project/creative-worker.runtime.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/model-catalog.service.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-project/creative-worker.runtime.ts","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/model-catalog.service.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/test/creative-project.integration.test.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/[action]/route.ts","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/lib/browser-identity.tsx","apps/web/src/lib/server/browser-identity.ts","deploy/vm/.env.example","deploy/vm/Dockerfile","deploy/vm/docker-compose.yml","deploy/vm/sidecar-bailian-requirements.txt","deploy/vm/sidecar-ocr-requirements.txt","docs/adr/0012-model-execution-routing-and-catalog.md","docs/adr/0016-durable-creative-projects.md","docs/adr/README.md","packages/contracts/src/browser-identity.ts","packages/contracts/src/creative-project.ts","packages/contracts/src/index.ts","packages/contracts/src/material.ts","packages/enterprise-identity/src/index.ts","pnpm-lock.yaml","reports/adversarial-acceptance-audit.latest.md","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/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-production-acceptance.mjs","scripts/check-script-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/main.py","services/model-sidecar/pyproject.toml","services/model-sidecar/uv.lock"]},{"id":"e01fdcc0959716731cbb8ab60e97910b7615771c","message":"feat(script-ux): 脚本屏先选内容类型再选应用场景\n\n- 左栏顺序改为 ① 内容类型(文本内容 / 歌词)→ ② 应用场景 → ③ 内容;来源类型决定可用场景\n- 与当前内容类型不兼容的场景卡禁用并标注只接受哪种来源(MV 只接受歌词、TVC / 招商等只接受文案),选场景不再反向改内容类型;切换内容类型时仍按 defaultScenarioForSource 回落\n- 选择器补 aria-pressed;既有 testid 不变(script-source-kind-*、scenario-*、script-source-text)\n- CLAUDE.md 真源地图脚本屏条目同步说明\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e01fdcc0959716731cbb8ab60e97910b7615771c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T20:34:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/ScriptStudio.tsx"]},{"id":"83173c8e463ee7ae4bf370410b4646079fff04eb","message":"feat(ux): 更名嗨设首席,补齐不可用动作恢复提示与手机端参数折叠;检查点收纳并行会话工作\n\n本会话改动:\n- 产品中文名「嗨设工坊」→「嗨设首席」:UI(标题 / 着陆页 / 顶栏 / Brand Hub / 默认品牌故事)、探活与验收脚本、sidecar 描述、README 与 docs、4K 海报重渲染并刷新 manifest sha256;英文名 HI Atelier、hi-atelier 标识与历史报告不改\n- 共享 RecoveryHint + job-recovery.ts describeJobRecovery():生成 / 视频屏主按钮因模型不可用被禁用时给出人话原因、服务端原文与「改用已就绪模型 / 去模型中心」一键动作,BLOCKED / UNKNOWN / FAILED 结果同口径\n- describeApiError() 补 400 / 404 / 429 / 5xx / 网络不可达;手机端生成屏参数区折叠为一行摘要(桌面常显,验收 testid 不变);运营看板加载骨架 / 错误 / 空态 / 更新时间;Chip 与类型 / 模型 / 比例选择器 aria-pressed,FlameButton aria-busy;改字屏面向门店的说明去工程词\n- CLAUDE.md 真源地图登记恢复提示单源与更名说明;UX 审计记录增补 2026-09-04 复审;创作流程分析 P1「失败恢复进入主流程」状态更新\n\n同一工作树内并行会话的进行中工作一并纳入本检查点(多模型目录 C18 / C19、创作项目聚合与 worker、浏览器企业登录、公共文件验收扩展、ADR 0012–0015 等)。\n\n门禁证据:静态 pnpm check 除重型报告指纹过期外全绿,lint / typecheck 通过;本会话 2026-09-05 03:16–03:23 UTC 串行重跑 inference / script / runtime / production / public-file 均 passed,ui 03:19 passed 后被并行会话带新断言的 03:23 重跑 failed 覆盖;随后源码继续变动,基线表已由并行会话标记为指纹过期(OPEN),以最终一次静止树的串行重跑为准。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/83173c8e463ee7ae4bf370410b4646079fff04eb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T20:27:57-07:00","added":["apps/api-fastify/prisma/migrations/20260905093000_model_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260905110000_creative_projects/migration.sql","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/creative-project/creative-worker.runtime.ts","apps/api-fastify/src/modules/material-factory/material-factory.error.ts","apps/api-fastify/src/modules/material-factory/model-catalog.service.ts","apps/api-fastify/src/routes/creative-project.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-nestjs/prisma/migrations/20260905093000_model_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260905110000_creative_projects/migration.sql","apps/api-nestjs/src/common/creative-transport.ts","apps/api-nestjs/src/creative-project/creative-project.controller.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-project/creative-worker.runtime.ts","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/model-catalog.service.ts","apps/api-nestjs/test/creative-project.integration.test.ts","apps/web/src/app/auth/[action]/route.ts","apps/web/src/components/material-factory/CreativeProjectBar.tsx","apps/web/src/components/material-factory/PromoteDraftButton.tsx","apps/web/src/components/material-factory/creative-project-queries.ts","apps/web/src/components/material-factory/job-recovery.ts","apps/web/src/components/material-factory/model-catalog.tsx","apps/web/src/lib/browser-identity.tsx","apps/web/src/lib/server/browser-identity.ts","apps/web/src/store/useCreationPrefsStore.ts","docs/adr/0012-model-execution-routing-and-catalog.md","docs/adr/0013-llm-output-contract-boundary.md","docs/adr/0014-video-capability-drives-storyboard-size.md","docs/adr/0015-public-file-technical-boundary.md","docs/adr/0016-durable-creative-projects.md","docs/browser-enterprise-login.md","docs/product/creative-pipeline-design.md","packages/contracts/src/browser-identity.ts","packages/contracts/src/creative-project.ts","packages/contracts/src/model-catalog.test.ts","packages/contracts/src/storyboard-llm.test.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/video-capability.test.ts","packages/contracts/src/video-capability.ts","packages/enterprise-identity/src/browser-session.test.ts","packages/enterprise-identity/src/browser-session.ts","reports/project-analysis-2026-09-05-revalidated.md","reports/project-analysis-2026-09-05.md","reports/ui-acceptance.draft-import.png"],"removed":["apps/web/src/components/material-factory/LyricsStudio.tsx"],"modified":[".claude/launch.json","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/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/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/test/http.acceptance.test.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-fastify/test/object-storage.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.module.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.controller.ts","apps/api-nestjs/src/material-factory/shooting-script.service.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-inference.acceptance.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/api-nestjs/test/object-storage.integration.test.ts","apps/web/.env.example","apps/web/next.config.ts","apps/web/package.json","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ModelOperationsDashboard.tsx","apps/web/src/components/material-factory/PipelineFlow.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/queries.ts","apps/web/src/components/material-factory/ui.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/store/useFactoryStore.ts","deploy/vm/Dockerfile","deploy/vm/docker-compose.yml","docs/README.md","docs/adr/0005-use-prisma.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0011-consume-enterprise-idp-access-tokens.md","docs/adr/README.md","docs/deploy-vm.md","docs/domain-glossary.md","docs/domain/material-production-blueprint.md","docs/domain/module-boundary.md","docs/product/controlled-ai-material-factory.md","docs/product/creative-workflow-analysis.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","output/hi-atelier-posters-4k/final/01-brand-standard-4k.png","output/hi-atelier-posters-4k/final/02-dual-mode-4k.png","output/hi-atelier-posters-4k/final/03-story-to-screen-4k.png","output/hi-atelier-posters-4k/final/04-proof-first-delivery-4k.png","output/hi-atelier-posters-4k/final/contact-sheet.jpg","output/hi-atelier-posters-4k/manifest.json","output/hi-atelier-posters-4k/provenance.md","output/hi-atelier-posters-4k/render_posters.py","packages/contracts/src/index.ts","packages/contracts/src/material.test.ts","packages/contracts/src/material.ts","packages/contracts/src/production.ts","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/enterprise-identity/src/index.ts","packages/public-file/README.md","pnpm-lock.yaml","reports/adversarial-acceptance-audit.latest.md","reports/contract-consumers.latest.json","reports/full-ux-audit-2026-08-28/README.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/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/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-migrations.mjs","scripts/check-module-boundary.mjs","scripts/check-production-security.mjs","scripts/check-public-file-acceptance.mjs","scripts/check-startup-acceptance.mjs","scripts/check-ui-acceptance.mjs","services/model-sidecar/README.md","services/model-sidecar/main.py","services/model-sidecar/pyproject.toml","turbo.json"]}],"total_commits":0,"head_commit":{"id":"a08628dd493b9ddcb20d9e326758d64dc36a0056","message":"chore(governance): 对抗性验收复审与门禁收紧;检查点收纳并行会话进行中工作\n\n对抗审计(本会话):\n- script 验收报告绑定源码指纹并登记为源码绑定重型门禁(此前基线表 ✅ 从未被机器比对)\n- ownTests 棘轮地板 31→48;check:production 禁 skip 名单扩到 nestjs/fastify-production\n- 定位并复现脚本验收固定租户的并行 runner 污染,验证 run-scoped 租户修复(Fastify 套件 ×2 通过)\n- 真实库探针:非终态结果 fail-open、reconcile 判责根因错(并行会话已修,本会话复验,套件各 12/12)\n- 并行会话新增契约注释命中命名禁用词 terminal,改为 final\n- 记录进行中的 Compose 认证模式改动使 check:production-security 红,未放宽检查器\n- 对抗审计报告新增复审节,CLAUDE.md 复审节与基线表行同步\n\n检查点同时收纳并行会话进行中的工作:创作 Worker 模块隔离、视频进度契约、队列隔离策略、\n模型凭证存储(packages/model-credentials、sidecar model_credentials.py)、脚本验收 run-scoped 租户、\nCompose MATERIAL_AUTH_MODE 等。全仓 typecheck / lint 通过;pnpm check 因 productionSecurityViolations=1\n(Compose IdP 配置改为可选,待与检查器规则同步)未全绿。可用 git reset --soft HEAD~1 撤销本检查点。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a08628dd493b9ddcb20d9e326758d64dc36a0056","author":{"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:34:23-07:00","added":["apps/api-fastify/test/creative-queue-isolation.integration.test.ts","apps/api-fastify/test/creative-video-progress.integration.test.ts","apps/api-fastify/test/model-credentials.integration.test.ts","apps/api-nestjs/src/creative-project/creative-worker.module.ts","apps/api-nestjs/test/creative-queue-isolation.integration.test.ts","apps/api-nestjs/test/creative-video-progress.integration.test.ts","apps/api-nestjs/test/model-credentials.integration.test.ts","docs/model-credentials.md","packages/contracts/src/creative-queue-policy.test.ts","packages/contracts/src/creative-queue-policy.ts","packages/contracts/src/creative-video-progress.test.ts","packages/contracts/src/creative-video-progress.ts","packages/model-credentials/package.json","packages/model-credentials/src/index.test.ts","packages/model-credentials/src/index.ts","packages/model-credentials/tsconfig.json","reports/acceptance-convergence-2026-09-05.md","reports/creative-breakpoint-fix-2026-09-05.md","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","services/model-sidecar/model_credentials.py","services/model-sidecar/test_llm_preflight.py","services/model-sidecar/test_managed_credentials.py"],"removed":[],"modified":[".dockerignore","CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/creative-project/creative-worker.runtime.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/model-catalog.service.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-project/creative-worker.runtime.ts","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/model-catalog.service.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/test/creative-project.integration.test.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/[action]/route.ts","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/lib/browser-identity.tsx","apps/web/src/lib/server/browser-identity.ts","deploy/vm/.env.example","deploy/vm/Dockerfile","deploy/vm/docker-compose.yml","deploy/vm/sidecar-bailian-requirements.txt","deploy/vm/sidecar-ocr-requirements.txt","docs/adr/0012-model-execution-routing-and-catalog.md","docs/adr/0016-durable-creative-projects.md","docs/adr/README.md","packages/contracts/src/browser-identity.ts","packages/contracts/src/creative-project.ts","packages/contracts/src/index.ts","packages/contracts/src/material.ts","packages/enterprise-identity/src/index.ts","pnpm-lock.yaml","reports/adversarial-acceptance-audit.latest.md","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/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-production-acceptance.mjs","scripts/check-script-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/main.py","services/model-sidecar/pyproject.toml","services/model-sidecar/uv.lock"]},"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":49919,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-04T23:33:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788582875
|
1788582909
|
0
|
1788582875
|
1788582909
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23878
|
feat(contracts): CT-1 TS 层——JSON Schema 生成类型入库 + A feat(contracts): CT-1 TS 层——JSON Schema 生成类型入库 + Ajv 校验器裸入口,build → dist 随包,check:generated 防漂移(开发计划 §3A CT-1;设计 §9)...
|
116
|
5
|
platform.yml
|
12
|
5
|
0
|
refs/heads/main
|
6c7f04cb97ab7909f083fd60c790ecda34e9b8ee
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0bceefc14d66a2f3544ff1036cbf467d80e2a9ec","after":"6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/0bceefc14d66a2f3544ff1036cbf467d80e2a9ec...6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","commits":[{"id":"6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","message":"feat(contracts): CT-1 TS 层——JSON Schema 生成类型入库 + Ajv 校验器裸入口,build → dist 随包,check:generated 防漂移(开发计划 §3A CT-1;设计 §9)\n\n- scripts/schema-registry.mjs:key → schemas/ 文件 → 类型名的唯一来源(12 个 Schema);scripts/generate-types.mjs 经 json-schema-to-typescript 16.0.0 生成 generated/*.ts + registry.ts + index.ts 并入库(根类型名取自登记表,不取 $id / title),--check 对比磁盘:缺失 / 差异 / 多余文件均失败\n- src/validators.ts:Ajv 2020(8.20.0 + ajv-formats 3.0.1)按 key 懒编译;validate / isValid / assertValid / schemaOf(副本)/ validateFact(信封 + facts/\u003cfact_type\u003e.v\u003cmajor\u003e 载荷,未登记载荷 Schema 以 payloadSchema 失败关闭)/ factPayloadKey;未知 key 抛 RangeError;CJS 默认导出经 .default 取值以兼容 NodeNext 类型\n- package.json:main / types / exports[\".\"] → dist/src/index.js,files 加 dist,脚本 build(tsc)/ typecheck / generate / check:generated;test 与 check:local 先 build;依赖全部 exact pin;pnpm-lock.yaml 入库;schemas/ 与 catalogs/ 未改\n- 测试:test/validators.test.mjs(examples 4 份 + catalogs 2 份 + 12 份 AppManifest 正例、validateFact 载荷链、缺字段 / 多字段 / 格式 / 未登记 Fact / 未知 key 负例、schemaOf 副本不可放宽)+ test/generate-types.test.mjs(登记表唯一性;--check 在篡改与多余文件时必失败)\n- CI:platform.yml public-static / static 先从公共 npm 安装 contracts 依赖(frozen lockfile),pack 前 build;publish-packages.yml 打包前 enable pnpm + install + build(发布仍 --ignore-scripts)\n- 证据:pnpm --dir contracts check:local 99/99 0 skip;scratchpad 独立克隆模拟 exit 0、83 过 / 16 skip / 0 失败;npm pack --dry-run 85 文件(含 dist/,无 src / generated / test / node_modules);根 check:pins 29 处 exact、governance 测试 85/85\n- 偏差登记:设计 §9 写 zod 校验器,本实现按开发计划 CT-1 用 Ajv 直接编译 JSON Schema 以保 Schema 唯一真源(开发计划 §6 #17);SOURCE.md / README / 仓 README / CLAUDE 状态行同步\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:09:40-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json"]},{"id":"a4cd6d7af52b77064984a87bbdef3459e574b4a3","message":"docs(platform): 当前状态 runtime / Release Manifest 两行改引客户端批次证据(runtime 378 / UI 5 @ 1c8a00d;runtime 报告 0ac4419;client-permission 已识别)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/a4cd6d7af52b77064984a87bbdef3459e574b4a3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:07:55-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},{"id":"0ac4419e16662d55aab6bc5a74c2184de26e041b","message":"chore(reports): refresh clean runtime static evidence @ aeef416(CL-0 / CL-3 后:runtime 378 / UI 5 绑定 1c8a00d;地板 378 / 35 / 185)\n\n根 pnpm check(pins 29 处 / modules / module-imports 201 源文件 0 违规 / catalog / catalog:drift / fixtures 33 / facts / migration-decs / caddy /\ngovernance 测试 / contracts check:local / runtime 静态 14 项 + lint + typecheck)与 release:manifest(partial 缺 5 项,\nclient-permission 1.0.0-rc.0 已识别、client-* 缺项 7 → 6)在 aeef416 上通过。\n只提交 runtime/reports(provenance 以 runtime/ 为根,clean);仓根 reports/*.latest.json 因并行会话 contracts/ CT-1 WIP\n在同一工作树未提交而 worktreeDirty=true,按纪律不提交、已恢复为上一份 clean 绑定(4660ad5)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0ac4419e16662d55aab6bc5a74c2184de26e041b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:07:20-07:00","added":[],"removed":[],"modified":["runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"aeef416487271531069d364a1f91dc3ae04f42fd","message":"docs(runtime): record clean commit acceptance @ 1c8a00d(CL-0 / CL-3 后:runtime 378 / UI 5;地板 378 / 35 / 185)\n\n- 证据新鲜度三行改绑 clean `1c8a00d`:真实 DB check:runtime 378 tests / 0 failures(+32:client-permission 单测 10、\n S-6 夹具对 stub server 三画像 21、api-nestjs 端到端 1)、UI 5/5、双后端差分 0 差异;共享底座 :55470\n `enterprise_platform_acceptance_cl3_20260912` + :56379/7。\n- reports/baseline.json 地板收紧:testsPassed 346 → 378,ownTestCases 184 → 185(ownTests 35 不变:clients / test 工作区包不计)。\n- 三份验收报告 provenance.gitSha = 1c8a00d、worktreeDirty=false(runtime 根口径)。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/aeef416487271531069d364a1f91dc3ae04f42fd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:05:45-07:00","added":[],"removed":[],"modified":["runtime/CLAUDE.md","runtime/reports/baseline.json","runtime/reports/conformance-differential.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/ui-acceptance.latest.json"]},{"id":"1c8a00ddbe6a4c25791df20e425b4817dcd115b6","message":"feat(clients): @juhai/client-permission 远程权限端口 + client 工作区(开发计划 §3A CL-0 / CL-3)\n\n- runtime/clients/permission(@juhai/client-permission@1.0.0-rc.0,peer @juhai/kernel exact 0.16.1,publishConfig Gitea):\n createRemotePermissionDecisionPort 把内核 PermissionDecisionPort 实现为 POST \u003cbaseUrl\u003e/v1/decisions\n (Catalog 已登记 permission-decision-api.v1);内核请求 → 契约请求体纯映射(点号资源类型 / 单段动作 / 32 hex trace_id /\n actor 缺省 service+workload-identity / scope_version 占位);响应守卫只认契约形状;失败关闭:schema 不通过 / 无租户 /\n 无法映射本地即拒,网络 / 超时 / 5xx → REMOTE_UNAVAILABLE,4xx → REMOTE_REJECTED,非契约响应 → INVALID_RESPONSE,永不抛;\n 未配置退回内核 fail-closed 端口对象;只缓存放行决策到 cache_ttl_seconds(LRU);失效订阅接口 invalidations(DEC-019 / 029 门后接 M3)。\n 10 例单测(注入 fetch,无网络)。\n- runtime/test/port/clients.test.ts:S-6 端口一致性夹具对 stub server 三画像(unavailable / catalog / down)+ 未配置,21 例。\n- api-nestjs 真实 DB 验收增 1 例:client 打装载 permission 的应用 → policy-unavailable;凭证租户 ≠ 上下文租户 → tenant-mismatch;\n 无凭证 → REMOTE_REJECTED(apps 静态 import @juhai/client-* 为 check:module-imports 放行项)。\n- pnpm-workspace 增 clients/*;CI unit job 过滤器增 ./clients/*;runtime/clients/README.md 登记七包状态。\n 传输层先内联在包内,是否抽 @juhai/client-core 仍按开发计划 §6 偏差 #14 待平台负责人。\n- release:manifest 现识别 packages.@juhai/client-permission=1.0.0-rc.0(缺项 client-* 由 7 个降为 6 个,status 仍 partial)。\n\n静态门禁(runtime pnpm check 14 项 + lint + typecheck)与根 check:pins / check:module-imports 在本提交前的脏树上通过;真实 DB 验收随后绑定。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/1c8a00ddbe6a4c25791df20e425b4817dcd115b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:03:02-07:00","added":["runtime/clients/README.md","runtime/clients/permission/README.md","runtime/clients/permission/package.json","runtime/clients/permission/src/index.test.ts","runtime/clients/permission/src/index.ts","runtime/clients/permission/tsconfig.json","runtime/test/port/clients.test.ts"],"removed":[],"modified":[".github/workflows/platform.yml","runtime/apps/api-nestjs/package.json","runtime/apps/api-nestjs/test/platform.http.acceptance.test.ts","runtime/pnpm-lock.yaml","runtime/pnpm-workspace.yaml","runtime/test/package.json"]}],"total_commits":0,"head_commit":{"id":"6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","message":"feat(contracts): CT-1 TS 层——JSON Schema 生成类型入库 + Ajv 校验器裸入口,build → dist 随包,check:generated 防漂移(开发计划 §3A CT-1;设计 §9)\n\n- scripts/schema-registry.mjs:key → schemas/ 文件 → 类型名的唯一来源(12 个 Schema);scripts/generate-types.mjs 经 json-schema-to-typescript 16.0.0 生成 generated/*.ts + registry.ts + index.ts 并入库(根类型名取自登记表,不取 $id / title),--check 对比磁盘:缺失 / 差异 / 多余文件均失败\n- src/validators.ts:Ajv 2020(8.20.0 + ajv-formats 3.0.1)按 key 懒编译;validate / isValid / assertValid / schemaOf(副本)/ validateFact(信封 + facts/\u003cfact_type\u003e.v\u003cmajor\u003e 载荷,未登记载荷 Schema 以 payloadSchema 失败关闭)/ factPayloadKey;未知 key 抛 RangeError;CJS 默认导出经 .default 取值以兼容 NodeNext 类型\n- package.json:main / types / exports[\".\"] → dist/src/index.js,files 加 dist,脚本 build(tsc)/ typecheck / generate / check:generated;test 与 check:local 先 build;依赖全部 exact pin;pnpm-lock.yaml 入库;schemas/ 与 catalogs/ 未改\n- 测试:test/validators.test.mjs(examples 4 份 + catalogs 2 份 + 12 份 AppManifest 正例、validateFact 载荷链、缺字段 / 多字段 / 格式 / 未登记 Fact / 未知 key 负例、schemaOf 副本不可放宽)+ test/generate-types.test.mjs(登记表唯一性;--check 在篡改与多余文件时必失败)\n- CI:platform.yml public-static / static 先从公共 npm 安装 contracts 依赖(frozen lockfile),pack 前 build;publish-packages.yml 打包前 enable pnpm + install + build(发布仍 --ignore-scripts)\n- 证据:pnpm --dir contracts check:local 99/99 0 skip;scratchpad 独立克隆模拟 exit 0、83 过 / 16 skip / 0 失败;npm pack --dry-run 85 文件(含 dist/,无 src / generated / test / node_modules);根 check:pins 29 处 exact、governance 测试 85/85\n- 偏差登记:设计 §9 写 zod 校验器,本实现按开发计划 CT-1 用 Ajv 直接编译 JSON Schema 以保 Schema 唯一真源(开发计划 §6 #17);SOURCE.md / README / 仓 README / CLAUDE 状态行同步\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:09:40-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2635,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T15:55: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
|
2
|
22
|
1789201093
|
1789201129
|
0
|
1789201093
|
1789201148
|
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
|
|
23972
|
chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多 chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败...
|
83
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
3c9f6df78f540226554cb4ecc6115741fe478c41
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a0ebf7769727344892ab96c1240bd809b5791430","after":"3c9f6df78f540226554cb4ecc6115741fe478c41","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a0ebf7769727344892ab96c1240bd809b5791430...3c9f6df78f540226554cb4ecc6115741fe478c41","commits":[{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d970541bd56e5f82659322c8f738d2f5d49c1770","message":"chore(governance): 命名门禁修复后在新 HEAD 上重跑,静态面由 12 通过升为 13\n\n上一提交(8d74d4d)改了 scripts/ 下四个治理模块,按证据纪律旧报告随即失效——\n本提交只动 reports/,绑定 8d74d4d,与源码内容一一对应。\n\n静态门禁 13 通过 / 7 失败。7 条里没有一条是本仓代码质量问题:\n- 4 条缺实例:dual-backend-behavior / health-dependency-failure /\n outbox-multi-instance 需 DATABASE_URL,api-migration-safety 需\n MIGRATION_TEST_ADMIN_URL(这三份报告刻意不提交,见上一轮说明)\n- 1 条崩栈:os-product-host-ui\n- 2 条级联:os-product-layer 卡在 host-ui 报告,\n os-product-registration-verification 卡在 target OS checkout 与 runtime 验收证据\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/d970541bd56e5f82659322c8f738d2f5d49c1770","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:41:17-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"8d74d4d814aad8e2df43f867e1dd61baf59b9075","message":"fix(governance): 命名门禁 32 条违规逐行豁免 —— 治理脚本里的 terminal 是终态不是终端\n\na0ebf77(当前 HEAD 的前一提交)引入 scripts/lib/database-rls-*-governance.mjs 与\nos-product-migration-governance.mjs 时,命名门禁没跑过——提交后 naming 由 0 条变\n32 条,而 reports/naming.latest.json 停在 09-01 的 violations: 0,没人看得见。\n这正是\"无一份证据绑定当前 HEAD\"的实际后果。\n\n32 条全部是误报类:\n- 31 × terminal:`employment-terminal-late-authority-revoke` 这类指的是**迁移序列\n 与 RLS 的终态**,业务词典要求改成 device(设备)在这里是错的\n- 1 × business:`shared business database` 是 PostgreSQL 术语,不是业务方\n\n扫描面与词典自 2026-08-25 bootstrap 起未变,所以不是门禁改严了,是新代码撞上了\n一直存在的词表。\n\n用门禁自带的逐行 `// naming-ignore` 机制,并逐条写明理由——不收窄 SCAN_DIRS:\n治理脚本里同样会出现业务概念名,去掉 scripts/ 会让真的违规漏网。豁免要作者写明,\n不能按路径猜,与工作区一致性门禁的 `\u003c!-- 一致性门禁豁免 --\u003e` 同一口径。\n\n改动只在行尾追加注释,5 处含模板字符串的行已逐一核对反引号在同行闭合。\n三份治理模块的自有测试 311/311 通过,四个文件 node --check 通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/8d74d4d814aad8e2df43f867e1dd61baf59b9075","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:40:57-07:00","added":[],"removed":[],"modified":["scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs"]},{"id":"7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,并记下 naming 的 32 条真实违规\n\n迁移后本仓 37 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,其中\n15 份正文还带着 /Users/ailaoluo/ 的两代前绝对根——那是另一台机器。所以此前既不能\n说\"当前 HEAD 是绿的\",也不能说\"是红的\",它一直是未知数。\n\n本次在 clean HEAD (a0ebf77) 上重跑全部静态门禁:12 通过 / 8 失败,提交其中 15 份\n(provenance 全部 gitSha=a0ebf77 且 worktreeDirty=false)。\n\n**一条真实失败:check-naming 32 条违规。** 上一份报告(09-01)记的是 violations: 0。\n命中全部落在门禁脚本自己身上——scripts/lib/database-rls-history-governance.mjs 的\n`terminal`(RLS 终态)被业务词典判成应改为 device,check-api-migration-safety.mjs 的\n`business database` 判成应改为 merchant。业务词典的扫描面覆盖到了治理脚本,而那里的\n词是技术义不是业务义。这是扫描面扩大后出现的误报类失败,词典或扫描面需收敛。\n\n**刻意不提交 3 份**:dual-backend-behavior / health-dependency-failure /\noutbox-multi-instance 因缺 DATABASE_URL 写出 failed——那是跑不起来,不是判定失败,\n记进去会把环境缺失伪装成质量问题。\n\n**保留两份 OS 产品的失败报告**:os-product-layer 与 os-product-registration-verification\n这次的失败理由是当前的(前者卡 host-ui 报告、后者卡 target OS checkout 与 runtime\n验收证据),且不再含两代前的绝对根——比它们替换掉的旧报告更可用。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:35:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5038,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T12:10:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789458920
|
1789458978
|
0
|
1789458920
|
1789458979
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24016
|
docs(决策): CHG-018 签署并应用——C-9 修正为「平台入口由本仓独立工作台承载」,附 docs(决策): CHG-018 签署并应用——C-9 修正为「平台入口由本仓独立工作台承载」,附条件 A/D/E...
|
117
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
d6deb3aa8539adc597eef52f0fd70b6f852c8525
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d18826fbfe37c9974ac1f075942efd38cd8d1f07","after":"d6deb3aa8539adc597eef52f0fd70b6f852c8525","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/d18826fbfe37c9974ac1f075942efd38cd8d1f07...d6deb3aa8539adc597eef52f0fd70b6f852c8525","commits":[{"id":"d6deb3aa8539adc597eef52f0fd70b6f852c8525","message":"docs(决策): CHG-018 签署并应用——C-9 修正为「平台入口由本仓独立工作台承载」,附条件 A/D/E\n\n回执写入 CHG-018 材料 §5(luoanwu 代签,approve-with-conditions,2026-09-17T14:28:37Z)。条件:A 阶段 ② 须待对外交付设计 §6 两项「缺失」管理接口验收;D 工作台维护者实名后才开工,不沿 B-1 代签;E 技术栈另裁、不沿用 Next.js/React,裁决前不开工。默认项 B / C / F 未偏离。\n回写:决策批次 §3 登记修正;待裁决架构事项 N-10 关闭;开发计划 09-17 段与 §8 登记三项前置;设计方案 §22.1 阶段 ② 加前置、§23 维护者行改为实名前置、§26 变更记录加行。Catalog enterprise-experience 不动。一致性检查 L4 / L10 / L13 清零。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d6deb3aa8539adc597eef52f0fd70b6f852c8525","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:29:45-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"d6deb3aa8539adc597eef52f0fd70b6f852c8525","message":"docs(决策): CHG-018 签署并应用——C-9 修正为「平台入口由本仓独立工作台承载」,附条件 A/D/E\n\n回执写入 CHG-018 材料 §5(luoanwu 代签,approve-with-conditions,2026-09-17T14:28:37Z)。条件:A 阶段 ② 须待对外交付设计 §6 两项「缺失」管理接口验收;D 工作台维护者实名后才开工,不沿 B-1 代签;E 技术栈另裁、不沿用 Next.js/React,裁决前不开工。默认项 B / C / F 未偏离。\n回写:决策批次 §3 登记修正;待裁决架构事项 N-10 关闭;开发计划 09-17 段与 §8 登记三项前置;设计方案 §22.1 阶段 ② 加前置、§23 维护者行改为实名前置、§26 变更记录加行。Catalog enterprise-experience 不动。一致性检查 L4 / L10 / L13 清零。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/d6deb3aa8539adc597eef52f0fd70b6f852c8525","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:29:45-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.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":7153,"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-17T20:25:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1789655449
|
1789655479
|
0
|
1789655387
|
1789655479
|
|
|
0
|
Edit
Delete
|
|
24166
|
fix(quotation): 通知投递显式传重试上限——领取与死信判定不再各用一份常数
|
72
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
6908c19f9faf3b006d73054657b97c6cb8f945d9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ec9e07de44a5619a8a6b5648f00f5ea7f7dcafcf","after":"6908c19f9faf3b006d73054657b97c6cb8f945d9","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/compare/ec9e07de44a5619a8a6b5648f00f5ea7f7dcafcf...6908c19f9faf3b006d73054657b97c6cb8f945d9","commits":[{"id":"6908c19f9faf3b006d73054657b97c6cb8f945d9","message":"fix(quotation): 通知投递显式传重试上限——领取与死信判定不再各用一份常数\n\n服务里的 MAX_ATTEMPTS = 3 只进领取查询与死信清扫,decideNotificationFailure 没传 maxAttempts、\n走的是 @repo/notification-delivery 的包默认 3。今天两个 3 相等所以看不出来,改任一边即静默不一致:\n领取按新上限继续捡,死信判定仍按旧上限提前把行判死。同仓 event-delivery.service.ts 一直是显式传的。\n\n两后端各一行,语义不变。验证:typecheck 绿;pnpm check 22 道全绿;包单测 4/4 未受影响。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/6908c19f9faf3b006d73054657b97c6cb8f945d9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:42-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/modules/notification-delivery/notification-delivery.service.ts","apps/api-nestjs/src/events/notification-delivery.service.ts"]}],"total_commits":0,"head_commit":{"id":"6908c19f9faf3b006d73054657b97c6cb8f945d9","message":"fix(quotation): 通知投递显式传重试上限——领取与死信判定不再各用一份常数\n\n服务里的 MAX_ATTEMPTS = 3 只进领取查询与死信清扫,decideNotificationFailure 没传 maxAttempts、\n走的是 @repo/notification-delivery 的包默认 3。今天两个 3 相等所以看不出来,改任一边即静默不一致:\n领取按新上限继续捡,死信判定仍按旧上限提前把行判死。同仓 event-delivery.service.ts 一直是显式传的。\n\n两后端各一行,语义不变。验证:typecheck 绿;pnpm check 22 道全绿;包单测 4/4 未受影响。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/6908c19f9faf3b006d73054657b97c6cb8f945d9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T16:06:42-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/modules/notification-delivery/notification-delivery.service.ts","apps/api-nestjs/src/events/notification-delivery.service.ts"]},"repository":{"id":72,"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-quotation-system","full_name":"luoanwu/juhai-quotation-system","description":"巨嗨报价系统:Next.js + NestJS/Fastify 双后端治理型报价业务底座","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":35851,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-quotation-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":11,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-31T03:51:09+08:00","updated_at":"2026-09-15T10:54:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789772921
|
1789773989
|
0
|
1789772844
|
1789773991
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24412
|
docs(notification): bind final acceptance evidence
|
81
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
f9b7f72b3d2b5f187feed06c1b681fefb6466ab7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3ece79dcc83c32531df95129cd9d687bb66fe66b","after":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/3ece79dcc83c32531df95129cd9d687bb66fe66b...f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","commits":[{"id":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","message":"docs(notification): bind final acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:15:08-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]}],"total_commits":0,"head_commit":{"id":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","message":"docs(notification): bind final acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:15:08-07:00","added":[],"removed":[],"modified":["docs/deployment-record-2026-09-23-platform-notification-consumer.md"]},"repository":{"id":81,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3412,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T08:47:15+08:00","updated_at":"2026-09-23T22:01:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1790172975
|
1790172982
|
0
|
1790172929
|
1790172984
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24657
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into codex/ci-local...
|
121
|
5
|
kernel-ci.yml
|
12
|
5
|
0
|
refs/heads/main
|
21d073490c60bb141a267af9424b9f0ef7c3440d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8bb41429437f46d37678921b75ffcaff1ed78841","after":"21d073490c60bb141a267af9424b9f0ef7c3440d","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/8bb41429437f46d37678921b75ffcaff1ed78841...21d073490c60bb141a267af9424b9f0ef7c3440d","commits":[{"id":"21d073490c60bb141a267af9424b9f0ef7c3440d","message":"Merge remote-tracking branch 'origin/main' into codex/ci-local\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/21d073490c60bb141a267af9424b9f0ef7c3440d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:15:15-07:00","added":["ops/deployments/2026-09-29-task-core-context-01080-local.md"],"removed":[],"modified":["model/plan-ledger.json"]},{"id":"0f35ca5de68545f648213fca859d7a06f5523a8c","message":"Require container job for Gitea PostgreSQL acceptance\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/0f35ca5de68545f648213fca859d7a06f5523a8c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:15:15-07:00","added":[],"removed":[],"modified":[".gitea/workflows/kernel-ci.yml","docs/local-ci.md","model/plan-ledger.json","ops/runbook.md"]}],"total_commits":0,"head_commit":{"id":"21d073490c60bb141a267af9424b9f0ef7c3440d","message":"Merge remote-tracking branch 'origin/main' into codex/ci-local\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/21d073490c60bb141a267af9424b9f0ef7c3440d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:15:15-07:00","added":["ops/deployments/2026-09-29-task-core-context-01080-local.md"],"removed":[],"modified":["model/plan-ledger.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":33254,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-09-30T01:14: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
|
1790702130
|
1790702161
|
0
|
1790702129
|
1790702161
|
|
|
0
|
Edit
Delete
|
|
25673
|
Update version
|
137
|
5
|
workflow.yml
|
12
|
5
|
0
|
refs/tags/v1.0.4
|
fc9ff49b90869a686df00e922af871c12215986a
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.0.4","bef {"ref":"refs/tags/v1.0.4","before":"0000000000000000000000000000000000000000","after":"fc9ff49b90869a686df00e922af871c12215986a","compare_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/compare/0000000000000000000000000000000000000000...fc9ff49b90869a686df00e922af871c12215986a","commits":[],"total_commits":0,"head_commit":{"id":"fc9ff49b90869a686df00e922af871c12215986a","message":"Update version\n","url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/commit/fc9ff49b90869a686df00e922af871c12215986a","author":{"name":"Danny McCormick","email":"damccorm@microsoft.com","username":""},"committer":{"name":"Danny McCormick","email":"damccorm@microsoft.com","username":""},"verification":null,"timestamp":"2019-08-05T22:07:27-04:00","added":[],"removed":[],"modified":["package-lock.json","package.json"]},"repository":{"id":137,"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":"actions-setup-node","full_name":"luoanwu/actions-setup-node","description":"Mirror of github.com/actions/setup-node for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-setup-node.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node.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-10-13T06:36:42+08:00","updated_at":"2026-10-13T06:38: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
|
3
|
5
|
1791847156
|
1791950481
|
0
|
1791844722
|
1791950481
|
|
|
0
|
Edit
Delete
|
|
25690
|
Bump @actions/artifact to version 0.5.1 (#189)
|
138
|
5
|
codeql-analysis.yml
|
12
|
5
|
0
|
refs/tags/v2.2.3
|
ee69f02b3dfdecd58bb31b4d133da38ba6fe3700
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v2.2.3","bef {"ref":"refs/tags/v2.2.3","before":"0000000000000000000000000000000000000000","after":"ee69f02b3dfdecd58bb31b4d133da38ba6fe3700","compare_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/compare/0000000000000000000000000000000000000000...ee69f02b3dfdecd58bb31b4d133da38ba6fe3700","commits":[],"total_commits":0,"head_commit":{"id":"ee69f02b3dfdecd58bb31b4d133da38ba6fe3700","message":"Bump @actions/artifact to version 0.5.1 (#189)\n\n* Bump @actions/artifact to version 0.5.1\r\n\r\n* Update license versions","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/ee69f02b3dfdecd58bb31b4d133da38ba6fe3700","author":{"name":"Konrad Pabjan","email":"konradpabjan@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2021-04-06T22:47:26+02:00","added":[],"removed":[],"modified":[".licenses/npm/@actions/artifact.dep.yml",".licenses/npm/@actions/http-client.dep.yml","dist/index.js","package-lock.json","package.json"]},"repository":{"id":138,"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":"actions-upload-artifact","full_name":"luoanwu/actions-upload-artifact","description":"Mirror of github.com/actions/upload-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-upload-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact.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-10-13T06:37:06+08:00","updated_at":"2026-10-13T06:38: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
|
1791852697
|
1791852727
|
0
|
1791844729
|
1791852727
|
|
|
0
|
Edit
Delete
|
|
25702
|
Document Artifact Limitations + Bump actions/artif Document Artifact Limitations + Bump actions/artifact package version (#51)...
|
139
|
5
|
test.yml
|
12
|
5
|
0
|
refs/tags/v2.0.3
|
80d2d4023c185001eacb50e37afd7dd667ba8044
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v2.0.3","bef {"ref":"refs/tags/v2.0.3","before":"0000000000000000000000000000000000000000","after":"80d2d4023c185001eacb50e37afd7dd667ba8044","compare_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/compare/0000000000000000000000000000000000000000...80d2d4023c185001eacb50e37afd7dd667ba8044","commits":[],"total_commits":0,"head_commit":{"id":"80d2d4023c185001eacb50e37afd7dd667ba8044","message":"Document Artifact Limitations + Bump actions/artifact package version (#51)\n\n* Document Artifact Limitations\r\n\r\n* README Updates\r\n\r\n* Restructure README","url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/commit/80d2d4023c185001eacb50e37afd7dd667ba8044","author":{"name":"Konrad Pabjan","email":"konradpabjan@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2020-07-31T17:16:59+02:00","added":[],"removed":[],"modified":["README.md","dist/index.js","package-lock.json","package.json"]},"repository":{"id":139,"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":"actions-download-artifact","full_name":"luoanwu/actions-download-artifact","description":"Mirror of github.com/actions/download-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-download-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact.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-10-13T06:37:23+08:00","updated_at":"2026-10-13T06:38:59+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
1791854419
|
1791950481
|
0
|
1791844740
|
1791950481
|
|
|
0
|
Edit
Delete
|
|
26255
|
docs(backup): bind fixed encrypted recovery and au docs(backup): bind fixed encrypted recovery and authentication evidence...
|
133
|
5
|
infra.yml
|
12
|
5
|
0
|
refs/heads/main
|
d3a4b1f10c8539c554e663c676aa956852827d67
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"00ba65bb9f9f7402a944101819e7ab7d629c0984","after":"d3a4b1f10c8539c554e663c676aa956852827d67","compare_url":"https://gitea.g-hi.com/luoanwu/infra/compare/00ba65bb9f9f7402a944101819e7ab7d629c0984...d3a4b1f10c8539c554e663c676aa956852827d67","commits":[{"id":"d3a4b1f10c8539c554e663c676aa956852827d67","message":"docs(backup): bind fixed encrypted recovery and authentication evidence\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/d3a4b1f10c8539c554e663c676aa956852827d67","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-20T21:46:14-07:00","added":["reports/recovery-kit-2026-10-20/fixed/authentication-negative.json","reports/recovery-kit-2026-10-20/fixed/check.txt","reports/recovery-kit-2026-10-20/fixed/pack.json","reports/recovery-kit-2026-10-20/fixed/restore-1.json","reports/recovery-kit-2026-10-20/fixed/restore-2.json","reports/recovery-kit-2026-10-20/fixed/smoke.json","reports/recovery-kit-2026-10-20/fixed/tampered.json","reports/recovery-kit-2026-10-20/fixed/verify.json","reports/recovery-kit-2026-10-20/fixed/wrong-identity.json","reports/recovery-kit-2026-10-20/initial/pack.json","reports/recovery-kit-2026-10-20/initial/restore-1.json","reports/recovery-kit-2026-10-20/initial/restore-2.json","reports/recovery-kit-2026-10-20/initial/smoke.json","reports/recovery-kit-2026-10-20/initial/tampered.json","reports/recovery-kit-2026-10-20/initial/verify.json"],"removed":[],"modified":["docs/发布与恢复路径-2026-10-20.md"]},{"id":"47d10cfcf4fcbee7eab3603b96937cb2f0455079","message":"test(backup): make encrypted recovery drill repeatable from fixed source\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/47d10cfcf4fcbee7eab3603b96937cb2f0455079","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-20T21:44:27-07:00","added":["scripts/isolated-recovery-kit-smoke.py","test/recovery-kit-smoke.test.mjs"],"removed":[],"modified":["backup/README.md"]},{"id":"554607702202bc1d5590e989fc014f587de2d6b9","message":"feat(backup): add encrypted fixed-image PostgreSQL recovery kit\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/554607702202bc1d5590e989fc014f587de2d6b9","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-20T21:41:54-07:00","added":["backup/README.md","backup/recovery-kit.py","backup/test_recovery_kit.py","docs/发布与恢复路径-2026-10-20.md"],"removed":[],"modified":["README.md"]}],"total_commits":0,"head_commit":{"id":"d3a4b1f10c8539c554e663c676aa956852827d67","message":"docs(backup): bind fixed encrypted recovery and authentication evidence\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/d3a4b1f10c8539c554e663c676aa956852827d67","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-20T21:46:14-07:00","added":["reports/recovery-kit-2026-10-20/fixed/authentication-negative.json","reports/recovery-kit-2026-10-20/fixed/check.txt","reports/recovery-kit-2026-10-20/fixed/pack.json","reports/recovery-kit-2026-10-20/fixed/restore-1.json","reports/recovery-kit-2026-10-20/fixed/restore-2.json","reports/recovery-kit-2026-10-20/fixed/smoke.json","reports/recovery-kit-2026-10-20/fixed/tampered.json","reports/recovery-kit-2026-10-20/fixed/verify.json","reports/recovery-kit-2026-10-20/fixed/wrong-identity.json","reports/recovery-kit-2026-10-20/initial/pack.json","reports/recovery-kit-2026-10-20/initial/restore-1.json","reports/recovery-kit-2026-10-20/initial/restore-2.json","reports/recovery-kit-2026-10-20/initial/smoke.json","reports/recovery-kit-2026-10-20/initial/tampered.json","reports/recovery-kit-2026-10-20/initial/verify.json"],"removed":[],"modified":["docs/发布与恢复路径-2026-10-20.md"]},"repository":{"id":133,"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":"infra","full_name":"luoanwu/infra","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":910,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra/languages","html_url":"https://gitea.g-hi.com/luoanwu/infra","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/infra.git","clone_url":"https://gitea.g-hi.com/luoanwu/infra.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-10-11T21:11:15+08:00","updated_at":"2026-10-21T11:15:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
6
|
1792557997
|
1792558029
|
0
|
1792557996
|
1792558029
|
|
|
0
|
Edit
Delete
|
|
26354
|
test(bp10): record independent input capture regre test(bp10): record independent input capture regression review...
|
135
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
9ae301c3f85add3196e697922b824bbd97d0fde0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6d4dd1aab352d05d4049a7098fdec8443188ded5","after":"9ae301c3f85add3196e697922b824bbd97d0fde0","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/compare/6d4dd1aab352d05d4049a7098fdec8443188ded5...9ae301c3f85add3196e697922b824bbd97d0fde0","commits":[{"id":"9ae301c3f85add3196e697922b824bbd97d0fde0","message":"test(bp10): record independent input capture regression review\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/9ae301c3f85add3196e697922b824bbd97d0fde0","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-22T18:55:12-07:00","added":["reports/bp10-independent-review.latest.json"],"removed":[],"modified":["reports/evidence-current.latest.json"]},{"id":"46c0814a0ee61ad34a3530615115d7bdf2f92ba3","message":"docs(evidence): close BP10 current runtime UI and content-hash checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/46c0814a0ee61ad34a3530615115d7bdf2f92ba3","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-22T18:42:31-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/bp10-acceptance.latest.json","reports/ci-evidence.latest.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/device-boundaries.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/evidence-current.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-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"87c294b3e230605a711651020e90bbdff05b59fb","message":"docs: separate BP10 targeted and current-source acceptance status\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/87c294b3e230605a711651020e90bbdff05b59fb","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-22T18:28:19-07:00","added":["reports/bp10-acceptance.latest.json"],"removed":[],"modified":["CLAUDE.md","README.md"]},{"id":"3e2ae5103dbf55f0580e24d608401d5a66fcc35a","message":"docs(evidence): retain BP10 fixed consumer isolated regression and static checks\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/3e2ae5103dbf55f0580e24d608401d5a66fcc35a","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-22T18:18:55-07:00","added":["docs/evidence/2026-10-22-bp10-input-capture/client-dependencies.json","docs/evidence/2026-10-22-bp10-input-capture/evidence-manifest.json","docs/evidence/2026-10-22-bp10-input-capture/full-static.txt","docs/evidence/2026-10-22-bp10-input-capture/post-runtime.json","docs/evidence/2026-10-22-bp10-input-capture/runtime-input.json","docs/evidence/2026-10-22-bp10-input-capture/runtime-missing-dependency-failure.json","docs/evidence/2026-10-22-bp10-input-capture/runtime-missing-dependency-result.json","docs/evidence/2026-10-22-bp10-input-capture/runtime-missing-dependency.txt","docs/evidence/2026-10-22-bp10-input-capture/runtime-result.json","docs/evidence/2026-10-22-bp10-input-capture/runtime-summary.json","docs/evidence/2026-10-22-bp10-input-capture/runtime.txt","docs/evidence/2026-10-22-bp10-input-capture/s3-summary.json","docs/evidence/2026-10-22-bp10-input-capture/static-relocation-failure.txt","docs/evidence/2026-10-22-bp10-input-capture/verification-summary.json"],"removed":[],"modified":["docs/evidence/2026-10-22-bp10-input-capture/README.md","reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/device-boundaries.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":"26172c56e4b2664cb200494b1395a1b7f5d79bdb","message":"docs(evidence): retain static checks and fixed consumer build receipt\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/26172c56e4b2664cb200494b1395a1b7f5d79bdb","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-22T18:14:02-07:00","added":["docs/evidence/2026-10-22-bp10-input-capture/consumer-build.txt","docs/evidence/2026-10-22-bp10-input-capture/static-before-dependencies.txt","docs/evidence/2026-10-22-bp10-input-capture/static-quick.txt"],"removed":[],"modified":["docs/evidence/2026-10-22-bp10-input-capture/README.md"]}],"total_commits":0,"head_commit":{"id":"9ae301c3f85add3196e697922b824bbd97d0fde0","message":"test(bp10): record independent input capture regression review\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/9ae301c3f85add3196e697922b824bbd97d0fde0","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-22T18:55:12-07:00","added":["reports/bp10-independent-review.latest.json"],"removed":[],"modified":["reports/evidence-current.latest.json"]},"repository":{"id":135,"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-thing-cloud","full_name":"luoanwu/juhai-thing-cloud","description":"物云:02「物」域应用,自设备云 juhai-device-cloud 4652ce0 分叉","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2908,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-thing-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud.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-10-12T21:14:44+08:00","updated_at":"2026-10-22T06:30:36+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1792720535
|
1792720626
|
0
|
1792720535
|
1792720718
|
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
|
|
26592
|
chore(evidence): record C50/C51 runtime 266 and UI chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3...
|
82
|
5
|
governance.yml
|
12
|
5
|
0
|
refs/heads/main
|
756ce30a7133fe68054a5b580db709d915246968
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"828715cf53fe6925982bca85c6a1a36515f9807a","after":"756ce30a7133fe68054a5b580db709d915246968","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/828715cf53fe6925982bca85c6a1a36515f9807a...756ce30a7133fe68054a5b580db709d915246968","commits":[{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"a1d4ed32e45e3fab5902671b4d0f656df63674de","message":"fix(security): adopt framework C50/C51 loopback defaults for listen host and dev data stores\n\nFrom base-framework main 26212ad (2026-10-27):\n- API defaults to 127.0.0.1 when HOST is unset or empty; the Dockerfile\n api-nestjs target now sets ENV HOST=0.0.0.0, which the k8s base and\n artifact acceptance rely on. .env.example uses HOST=127.0.0.1.\n- Dev base binds pgvector/Redis/MinIO (API and console) to 127.0.0.1;\n Redis host port becomes overridable.\n- check:dual-backend gains the listen-default and data-store loopback\n checks; port parsing reuses the framework compose-ports module\n (pgvector recognised), its tests join check:governance-kit.\n\nNegative: entry back to 0.0.0.0, Dockerfile without ENV HOST, pgvector\nwithout loopback, MinIO without loopback each exit 1; green after restore.\npnpm check passed on the dirty worktree.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a1d4ed32e45e3fab5902671b4d0f656df63674de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:36:06-07:00","added":["scripts/lib/compose-ports.mjs","scripts/lib/compose-ports.test.mjs"],"removed":[],"modified":["Dockerfile","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/main.ts","package.json","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3787,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-10-25T18:48:05+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1793152764
|
1793152794
|
0
|
1793152683
|
1793152795
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
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
|
|
19964
|
build: 完善Release版本构建配置
|
13
|
5
|
codeql-analysis.yml
|
13
|
-2
|
46
|
refs/heads/main
|
6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","compare_url":"https://gitea.g-hi.com/luoanwu/printer-server/compare/c254333cc45c082124d3d4fd01a4a3fc3fda7296...6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","commits":[{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},{"id":"b44b6415c67f54b2d1bcd688757fec2aaf1686f4","message":"fix: 修复PrintJob状态转换和数据库初始化崩溃问题\n\n1. PrinterDatabase.optimizeDatabase()\n - 将PRAGMA命令从execSQL改为query()方法\n - Room的SupportSQLiteDatabase对PRAGMA有限制\n - 添加异常处理确保数据库优化失败不影响启动\n\n2. PrinterService.onTaskFailed()\n - 添加状态检查逻辑,根据当前状态决定处理方式\n - FAILED状态:执行重试逻辑\n - PRINTING状态:先转换为FAILED再重试\n - 其他状态:直接重新调度执行\n\n3. PrintingApplicationService.executePrintJob()\n - 新增prepareJobForPrinting()确保状态正确转换\n - CREATED -\u003e QUEUED -\u003e PRINTING 状态流转\n - 新增handleJobFailure()安全处理失败\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/b44b6415c67f54b2d1bcd688757fec2aaf1686f4","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:54:24+08:00","added":[],"removed":[],"modified":["printer-redesign/application/service/PrinterService.java","printer-redesign/application/service/PrintingApplicationService.java","printer-redesign/infrastructure/database/PrinterDatabase.java","printer-redesign/scripts/build-release.sh"]},{"id":"d2d0385e8b5c1b06d7e59f108c6e9f845905c841","message":"fix: 修复编译错误并成功构建APK\n\n修复内容:\n- PrintTestActivity: 重写以修复API兼容性问题\n - observeEnabled()替代getEnabledPrinters()\n - 移除PrinterApplication依赖\n - 修复Priority/PrintType方法调用\n - 修复rawContent类型(String→byte[])\n- OrderFormatterService: 补充shouldBeep()方法闭合括号\n- TemplateRenderEngine: 修复方法调用\n - getSummary()→toString()\n - setFontSize()→setSize()\n - setWidth()→setLength()\n- PrintJobDao: 添加getActiveJobs()方法\n- QueueViewModel: 修复RxJava包装和cancel()参数\n- MainViewModel: 移除totalCount()调用\n- PrinterConfigDTO: 修复fromEntity()方法兼容性\n\n构建结果:APK 7.8MB\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/d2d0385e8b5c1b06d7e59f108c6e9f845905c841","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:38:29+08:00","added":[],"removed":[],"modified":["printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/domain/service/OrderFormatterService.java","printer-redesign/infrastructure/database/dao/PrintJobDao.java","printer-redesign/infrastructure/device/EscPosExecutor.java","printer-redesign/infrastructure/device/PrinterCommandExecutor.java","printer-redesign/infrastructure/device/TsplExecutor.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java"]},{"id":"f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","message":"feat: 增强应用架构与测试功能\n\n- 新增 CQRS 模式支持 (command/query/dto)\n- 添加 PrintTestActivity 测试界面\n- 新增 MainViewModel 和 QueueViewModel\n- 完善 build.gradle 配置与签名设置\n- 优化 MainActivity 功能与交互\n- 增强 PrintTaskAdapter 适配逻辑\n- 添加 proguard 混淆规则和构建脚本\n- 更新 UI 资源文件\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:28:57+08:00","added":["printer-redesign/application/command/ConfigurePrinterCommand.java","printer-redesign/application/command/RecoverDeadLetterCommand.java","printer-redesign/application/command/SubmitPrintJobCommand.java","printer-redesign/application/dto/PrintJobDTO.java","printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/dto/QueueStatsDTO.java","printer-redesign/application/query/GetPrintJobsQuery.java","printer-redesign/application/query/GetQueueStatsQuery.java","printer-redesign/keystore.properties.template","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java","printer-redesign/proguard-rules.pro","printer-redesign/scripts/build-release.sh","printer-redesign/scripts/generate-keystore.sh","printer-redesign/src/main/res/drawable/ic_help.xml","printer-redesign/src/main/res/layout/activity_print_test.xml"],"removed":[],"modified":[".gitignore","printer-redesign/build.gradle","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/migration/BillStyleAdapter.java","printer-redesign/migration/PrintTaskAdapter.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/values/colors.xml","printer-redesign/src/main/res/values/strings.xml"]},{"id":"4052be41183584c726cd84d2f9d9cb5c371da83b","message":"feat: 完善模板引擎系统与UI优化\n\n模板引擎增强:\n- 新增 ExpressionEvaluator 表达式求值器,支持复杂条件判断\n- 新增 FormatPipeline 格式化管道,支持货币/日期/截断等格式化\n- 新增 ContextDataEnhanced 增强上下文,支持嵌套路径和管道\n- 新增 GroupElement 分组元素,支持条件渲染和循环渲染\n- 新增 TableElementEnhanced 增强表格,支持分组/小计/合计\n- 新增 ImageElement 图片元素,支持URL/Base64/本地文件\n- 新增 TemplateValidator 模板验证器\n- 新增 TemplateRenderEngineEnhanced 增强渲染引擎\n- 完善 TemplateManager 模板管理器\n\nUI和功能优化:\n- 新增 HealthCheckActivity 健康检查详情页\n- 新增 LogViewerActivity 日志查看页面\n- 新增 QueueDetailActivity 队列详情页面\n- 优化 MainActivity 界面布局和状态显示\n- 精简 SystemPrintDriver 代码结构\n- 新增相关资源文件和菜单\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/4052be41183584c726cd84d2f9d9cb5c371da83b","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:12:50+08:00","added":["printer-redesign/application/engine/TemplateRenderEngineEnhanced.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/docs/TEMPLATE_ENHANCEMENT_GUIDE.md","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/domain/service/formatter/StrategyRegistry.java","printer-redesign/domain/template/ContextDataEnhanced.java","printer-redesign/domain/template/CutElement.java","printer-redesign/domain/template/FormatPipeline.java","printer-redesign/domain/template/GroupElement.java","printer-redesign/domain/template/ImageElement.java","printer-redesign/domain/template/QRCodeElement.java","printer-redesign/domain/template/SpacerElement.java","printer-redesign/domain/template/TableElementEnhanced.java","printer-redesign/infrastructure/device/utils/BitmapToEscPosUtil.java","printer-redesign/presentation/HealthCheckActivity.java","printer-redesign/presentation/LogViewerActivity.java","printer-redesign/presentation/QueueDetailActivity.java","printer-redesign/src/main/res/drawable/bg_error_message.xml","printer-redesign/src/main/res/drawable/bg_status_chip.xml","printer-redesign/src/main/res/drawable/ic_check_circle.xml","printer-redesign/src/main/res/drawable/ic_error.xml","printer-redesign/src/main/res/drawable/ic_print_type.xml","printer-redesign/src/main/res/drawable/ic_recover.xml","printer-redesign/src/main/res/drawable/ic_warning.xml","printer-redesign/src/main/res/layout/activity_health_check.xml","printer-redesign/src/main/res/layout/activity_log_viewer.xml","printer-redesign/src/main/res/layout/activity_queue_detail.xml","printer-redesign/src/main/res/layout/item_health_component.xml","printer-redesign/src/main/res/layout/item_print_log.xml","printer-redesign/src/main/res/layout/item_queue_job.xml","printer-redesign/src/main/res/menu/menu_log_viewer.xml","printer-redesign/src/main/res/menu/menu_queue_detail.xml"],"removed":[],"modified":["ARCHITECTURE_COMPARISON.md","CLAUDE.md","printer-redesign/ARCHITECTURE.md","printer-redesign/application/engine/TemplateManager.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/build.gradle","printer-redesign/domain/template/BarcodeElement.java","printer-redesign/domain/template/BaseElement.java","printer-redesign/domain/template/ContextData.java","printer-redesign/domain/template/LineElement.java","printer-redesign/domain/template/PrintElement.java","printer-redesign/domain/template/TableElement.java","printer-redesign/domain/template/TextElement.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/layout/activity_main.xml","printer-redesign/src/main/res/values/colors.xml"]}],"total_commits":0,"head_commit":{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},"repository":{"id":13,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"printer-server","full_name":"luoanwu/printer-server","description":"KTV打印服务器 - DDD架构重构","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server/languages","html_url":"https://gitea.g-hi.com/luoanwu/printer-server","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/printer-server.git","clone_url":"https://gitea.g-hi.com/luoanwu/printer-server.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-28T11:06:40+08:00","updated_at":"2026-02-28T11:06:54+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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
|
4
|
1777863643
|
1777863692
|
0
|
1777863640
|
1777863692
|
|
|
0
|
Edit
Delete
|
|
23512
|
fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语 fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突...
|
76
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
d0abf16e0287850cbb497074a866f1b35074dbb1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"28ea42cca5364bd425358f803436ae5c8f9bc687","after":"d0abf16e0287850cbb497074a866f1b35074dbb1","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/28ea42cca5364bd425358f803436ae5c8f9bc687...d0abf16e0287850cbb497074a866f1b35074dbb1","commits":[{"id":"d0abf16e0287850cbb497074a866f1b35074dbb1","message":"fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突\n\nCI run 32581362188 判责:本地线 C42 审计断言(查询租户全量 role.assigned 并断言恰好 2 条)\n与远端线 PR #3 新增的结果裁决闸用例(同租户内先授过一次 approver)在两条时间线上各自全绿,\n合并后首次同文件运行即互相污染——第 3 条审计事件令断言 3≠2 红。git 无冲突 ≠ 语义无冲突。\n\n修复由并行会话完成、本提交收编(两侧同款):审计断言先 filter(subject === \"u-upgrade\")\n再 toMatchObject——断言收窄到被测 subject,与其他用例的角色授予解耦。\n双端 auth.roles 已在一次性专属库(PG 55447 + Redis 6397/9)各 6/6 复现通过。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d0abf16e0287850cbb497074a866f1b35074dbb1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:28:23-07:00","added":[],"removed":[],"modified":["apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts"]}],"total_commits":0,"head_commit":{"id":"d0abf16e0287850cbb497074a866f1b35074dbb1","message":"fix(test): auth.roles 升权审计断言按 subject 收窄——合并组合暴露的语义冲突\n\nCI run 32581362188 判责:本地线 C42 审计断言(查询租户全量 role.assigned 并断言恰好 2 条)\n与远端线 PR #3 新增的结果裁决闸用例(同租户内先授过一次 approver)在两条时间线上各自全绿,\n合并后首次同文件运行即互相污染——第 3 条审计事件令断言 3≠2 红。git 无冲突 ≠ 语义无冲突。\n\n修复由并行会话完成、本提交收编(两侧同款):审计断言先 filter(subject === \"u-upgrade\")\n再 toMatchObject——断言收窄到被测 subject,与其他用例的角色授予解耦。\n双端 auth.roles 已在一次性专属库(PG 55447 + Redis 6397/9)各 6/6 复现通过。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/d0abf16e0287850cbb497074a866f1b35074dbb1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-22T08:28:23-07:00","added":[],"removed":[],"modified":["apps/api-fastify/test/auth.roles.acceptance.test.ts","apps/api-nestjs/test/auth.roles.acceptance.test.ts"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":51197,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-22T23:19:47+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1787412511
|
1787412602
|
0
|
1787412510
|
1787412602
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23562
|
chore(reports): 刷新治理证据至 b1510b5(clean,192 tests)
|
54
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
4a707c3d3ec98b8ab45864a1b40b941589433914
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"53991090b821b76dff11eee3a2e92806ed3ab173","after":"4a707c3d3ec98b8ab45864a1b40b941589433914","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/53991090b821b76dff11eee3a2e92806ed3ab173...4a707c3d3ec98b8ab45864a1b40b941589433914","commits":[{"id":"4a707c3d3ec98b8ab45864a1b40b941589433914","message":"chore(reports): 刷新治理证据至 b1510b5(clean,192 tests)\n\n静态 11 项门禁 + 治理棘轮 + lint + typecheck 全绿;\n真实 PG + Redis 验收 192 tests / 0 failures,provenance 绑定 clean commit b1510b5。\n\n⚠️ 作用域:本轮证据只覆盖静态与运行态两级。浏览器级 check:ui **未重跑**——\n本机无 Node 运行时(全部门禁在 node:22 容器内挂载工作树执行),而容器内没有\nLinux 版 Playwright 浏览器(宿主缓存的是 macOS 构建)。按事实作用域表,\n不得据此宣称 UI 层已验证。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/4a707c3d3ec98b8ab45864a1b40b941589433914","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:40:42-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-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":"b1510b5a203f7847dc99a0962cd30f36e6901dce","message":"docs(standards): 修正与实现相悖的 API 标准 + 幽灵路径机器化(批次④·下)\n\n## api-standard 的四项核心约定与实现系统性相悖\n\nCLAUDE.md 真源地图把 docs/standards/*.md 列为「工程标准口径」,使用入口表还直接路由读者\n去读它。但 api-standard 的四项核心约定没有一项与两后端实际实现一致:\n`/api/v1/` 前缀(实际 `/api`,未版本化)、`{ data: ... }` 响应包裹(实际裸资源)、\n嵌套 `error.{code,statusCode,timestamp,path}` 错误体(实际是顶层扁平的 ApiErrorBody)、\n以及一个从不存在的 `packages/contracts/src/errors/error-codes.ts`。\n\n照着它落地新模块,会做出与 contracts `ApiErrorBody` 及 web `ApiError` 消费方直接冲突的接口。\n而 review-standard 的检查清单还会让 reviewer 去核对那个幽灵文件。\n\n- 按本仓既有的 C14「标准 vs 现状」惯例(frontend-standard / backend-standard / git-standard\n 都已有)在 api-standard 头部加对照表,逐项写明目标态与当前真相,并说明改动方向:\n 要落地目标态先改实现与契约,不要反过来照着文档改接口\n- 修正 review-standard 的检查项指向真实位置\n\n## 幽灵路径机器化(C14-⑤ 同族,扫描面扩到 standards)\n\n新增 docs-truth 断言:standards 引用的 `packages/contracts/src/**.ts` 路径必须真实存在,\n否则须在同一行显式标注「目标态 / 当前不存在」。扫描面用 readdirSync 覆盖 docs/standards 全量,\n不硬编码文件清单——旧的幽灵路径断言正是因为清单式扫描漏掉了 docs/README.md 本身而失守过。\n\n该断言上线即多抓到一处此前没人发现的幽灵路径(naming-standard 的\n`packages/contracts/src/store/store.types.ts`),已一并标注。\n负向测试:去掉 review-standard 的诚实标注即红。\n\n## owner-matrix 补录 OS 产品两张业务表\n\n「先登记后建表」是本仓自己立的规则,却被自己的 C20/G23 战役打破:OS 产品包新建了\n`juhai_baseframework_orders` / `..._order_events` 两张带状态机的表却从未登记。\n补录两行并写明 `products/` 下的对象同样要登记(归属真源是 product.manifest.json 的\npersistence.tenantModels,本表挂索引行)。\n\n验收:naming / docs-truth / governance-docs / 治理棘轮均 exit 0。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/b1510b5a203f7847dc99a0962cd30f36e6901dce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:39:02-07:00","added":[],"removed":[],"modified":["docs/domain/owner-matrix.md","docs/standards/api-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs"]},{"id":"033e8159c23f4766493fd140ffa7aa923ebe1182","message":"fix(ops): 优雅停机接线——Fastify 的 onClose 钩子此前全是死代码(批次④·中)\n\n## Fastify 从不优雅停机\n\nserver.ts 没有任何信号处理,也从不调用 app.close():进程收到 SIGTERM 走默认处理直接终止。\n后果是 prisma / redis / outbox / queue 四个插件里**精心写好的 onClose 钩子从未被执行过**——\nBullMQ worker 不 close(在途 job 只能靠 stalled 恢复)、outbox 轮询事务可能被拦腰砍断、\nWS/SSE 连接收不到 close 帧。而 NestJS 侧早有 enableShutdownHooks,两后端停机行为实质分叉。\n\n存在性门禁看得见「钩子写了」,看不见「它从来没被调用过」——这正是 G17 说的行为级盲区。\n\n- server.ts 补 SIGTERM/SIGINT → app.close()(Fastify 会按注册逆序执行全部 onClose),\n 带 10s 超时兜底(卡住的清理不能让容器一直不退)与重复信号防抖\n\n## NestJS 的 Redis 连接从不 quit,且注释谎称有人管\n\nREDIS_PUB / REDIS_SUB 由 useFactory 裸建,没有任何销毁钩子;而 event-bus.service.ts\n的注释写着「redisSub 连接由 RedisModule 统一关闭」——注释与行为相反,于是没人会去查。\n真实后果:停机时连接不回收(两个 acceptance 测试的 afterAll 至今还得手动 quit 才能让进程退出)。\n\n- RedisModule 实现 onApplicationShutdown,quit 两个连接\n- 修正 event-bus 的失实注释\n\n## 防回潮\n\ncheck:dual-backend 新增 4 条停机接线绊网(两后端各自的信号处理 / app.close /\nenableShutdownHooks / Redis 关闭钩子),负向测试已验证删掉信号处理即红。\n\n验收:真实 PG + Redis 192 tests / 0 failures;静态门禁 + 棘轮 + typecheck 5/5 + lint 2/2 全绿。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/033e8159c23f4766493fd140ffa7aa923ebe1182","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:35:43-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/server.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/redis/redis.module.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-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","scripts/check-dual-backend-parity.mjs"]},{"id":"44cbbaeacf5f53e08e6e3f48a6d8bd2c3327d2de","message":"fix(governance): 写链守护补齐五条已验证绕过(批次④·上)\n\ncheck:write-guard 守的是 P4「所有写显式带 tenant_id + 状态迁移乐观锁」这条最高优先级红线,\n但它自身存在五条可复现的绕过——每一条都能让违规代码拿到绿盘:\n\n1. **折行**:逐行匹配下 `await tx.order\\n .update({...})` 完全隐形。这甚至无需恶意——\n Prettier 对长链式调用本来就这样折行。\n2. **方括号访问**:`tx[\"order\"].update(` 用 `\\w+` 匹配不到,换个写法整条溜过去。\n3. **upsert 不在禁止模式里**:它与 update/delete 同源(同样只接受唯一键定位),\n TOCTOU 缝隙一模一样,却从未被拦。\n4. **where 里的 tenantId 从未被验证**:门禁 reason 一直宣称 where 是 `{ id, tenantId }`,\n 但只检查了方法名与 state 前置条件——`updateMany({ where: { id } })` 照样绿,\n 而那正是跨租户写。\n5. **0 行拒绝可被一行注释满足**:断言对原始源码做 includes,\n `// if (updated.count === 0)` 就能让一段被注释掉的防护报绿。\n\n修法:\n- 新增 scripts/lib/source-text.mjs 作为公共单源(stripComments / blankComments / lineOf)。\n 「注释掉的代码仍满足断言」这个形态 check-schema-sync 在 2026-08-15 已实锤并就地修过,\n 但同类断言散布在多个脚本里各自对原始源码匹配——按 P5,实锤过的教训必须推广,\n 否则只是把同一个洞留在别处。\n- A 部分改为「注释置空但保持字符偏移」后整体跨行匹配,再由偏移反推行号\n (逐行挡不住折行,整体匹配又需要能定位);禁止模式补 upsert 与方括号访问。\n- B 部分先提取 updateMany 的 where 块再逐项断言(state 前置条件 + tenantId),\n 且全部在剥注释后的源码上跑。\n\n验收:五条绕过逐一注入验证必红、逐一恢复现场;正向 10 项静态门禁 + 治理棘轮全绿。\nCLAUDE.md 基线表 write-guard 行同步为实际覆盖面(此前的描述比实际防线宽)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/44cbbaeacf5f53e08e6e3f48a6d8bd2c3327d2de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:32:47-07:00","added":["scripts/lib/source-text.mjs"],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-statemachine-write-guard.mjs"]},{"id":"c494fc7d2e6b1497647b2ca9601766626dd4775d","message":"feat(auth): G8 生产级租户验签闭环——回退翻转 + 401 判责 + 降级通道清除(批次③)\n\nCLAUDE.md 里标注「动工前须用户点名」的最大 OPEN 缺口,验签半边落地。\n\n## 回退翻转(G8 的核心)\n\ndemo 期口径是 `Bearer 解析 ?? x-tenant-id`。接入验签后这个 `??` 会变成**降级攻击面**:\n伪造一个签名无效的 Bearer → 验签失败 → 自动落回客户端自报的 demo 头,等于没验。\n且只翻转这一处并不够——裸 `?tenantId=` 是另一条更彻底的通道,它连伪造 token 都不需要。\n\n- jwt 模式下:带 Authorization 或 ?access_token= 即**强制验签,失败一律 401,绝不回退**;\n x-tenant-id / ?tenantId= / `tenant:\u003cid\u003e` 简写整条不承认\n- demo 模式保留原型四级来源(本地与既有验收测试零改动),但**生产跑 demo 即拒绝启动**——\n 漏配鉴权应当是「起不来」,不是「起来了但谁都能进」\n\n## 架构切分:策略在 contracts,验签由后端注入\n\ncontracts 被 web 直接 import,把 jose 与密钥语义拉进去会泄漏到浏览器包。故:\n- `decideTenantResolution`(谁可信、失败怎么判)在 contracts,两后端共用,13 条单测覆盖\n- jose 验签在各后端(NestJS `src/auth/`、Fastify `src/plugins/auth.ts`)\n- `tenantFromBearerToken` 更名 `unsafeTenantClaimFromToken`:函数名里的 unsafe 是给 review 看的,\n 它只该用于浏览器 UI 预填与 demo 模式\n\nNestJS 的判定必须放 Guard 而非 `@TenantId()` 参数装饰器——后者的回调是同步的,\n判定留在那里就永远接不上异步的 JWKS 验签。\n\n## 顺带堵掉的三个额外攻击面(安全审计发现,均在已登记 G8 描述之外)\n\n1. **tenantId 是攻击者可控的自由文本**:无格式/长度约束时可凭空创建租户分区、\n 可用超长值撑爆 `@@unique([tenantId,email])` 的 btree 索引行打出稳定 500、\n 可用换行伪造日志行。现统一过 normalizeTenantId(≤128 + 受控字符集)。\n2. **重复查询参数的类型混淆**:Fastify 把 `?access_token=a\u0026access_token=b` 解析成数组,\n `typeof v === 'string'` 判定直接落空 → 静默跳过 token 分支 → 落到裸 ?tenantId=;\n 而 NestJS 的 `URLSearchParams.get()` 取第一个值。**同一条请求两后端两种身份判定**——\n 既是真实越权通道,也是 G17 行为分叉的活体实证。两侧统一取第一个值。\n3. **凭证进日志**:浏览器 EventSource/WS 无法自定义头,token 只能进 `?access_token=`,\n 而 pino 默认序列化器把完整 url 写进日志——接入真实验签后就是每次建连落盘一枚有效 JWT。\n Fastify logger 加 redact(authorization / cookie / req.url)。\n\n## 判责矩阵补上 401\n\n此前缺凭证一律回 400,把「未认证」伪装成「参数写错了」,客户端无从区分「该去登录」\n和「该改请求」。现 contracts 定义 UNAUTHENTICATED / INVALID_TOKEN / TENANT_FORBIDDEN;\n响应体**只回稳定错误码**,验签失败细节只进日志(区分「签名不对/已过期/issuer 不符」\n对攻击者是免费的探测反馈)。WS 保持 close(1008) 而非握手期 401——两后端同口径,\n且浏览器对握手 401 不暴露任何原因。\n\n## 验收\n\n真实 PG + Redis:**192 tests / 0 failures**(地板 161 → 192,只收紧)。\n两后端各 9 条 jwt 判责用例:正确签名放行 / 无凭证 401 / **伪造签名 + 合法 x-tenant-id 仍 401**\n/ 裸 demo 头 401 / 过期 401 / alg:none 401 / 无租户 claim 401 / health 免鉴权 / 重复参数不落 victim。\n新增 check:dual-backend 的 G8 绊网 5 条,每条均有负向红证据;其中「算法白名单」一条初版\n被自身的类型声明 `algorithms: string[]` 满足而无法变红,已改绑 jwtVerify 实参后重测。\n静态门禁 10/10 + 治理棘轮 + typecheck 5/5 + lint 2/2 全绿。\n\nRLS 未叠加(结构已就绪,阻碍在 CI 超级用户/单例 Prisma/dispatcher 跨租户扫描三处),\nweb 构建期内联 token 与 WS Origin 白名单同样登记为 G8 剩余项。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/c494fc7d2e6b1497647b2ca9601766626dd4775d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:27:41-07:00","added":["apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/test/auth.jwt.test.ts","apps/api-nestjs/src/auth/auth.guard.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/token-verifier.ts","apps/api-nestjs/test/auth.jwt.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/package.json","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/health/health.controller.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/web/src/lib/api.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/tenant.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/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","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"4a707c3d3ec98b8ab45864a1b40b941589433914","message":"chore(reports): 刷新治理证据至 b1510b5(clean,192 tests)\n\n静态 11 项门禁 + 治理棘轮 + lint + typecheck 全绿;\n真实 PG + Redis 验收 192 tests / 0 failures,provenance 绑定 clean commit b1510b5。\n\n⚠️ 作用域:本轮证据只覆盖静态与运行态两级。浏览器级 check:ui **未重跑**——\n本机无 Node 运行时(全部门禁在 node:22 容器内挂载工作树执行),而容器内没有\nLinux 版 Playwright 浏览器(宿主缓存的是 macOS 构建)。按事实作用域表,\n不得据此宣称 UI 层已验证。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/4a707c3d3ec98b8ab45864a1b40b941589433914","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T20:40:42-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-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":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":1968,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-08-30T11:43:29+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788065693
|
1788065725
|
0
|
1788064993
|
1788065727
|
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
|
|
23641
|
feat: 汇总内容创作、分镜视频、模型接入与平台体验更新
|
57
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
5d1fb824260721f7fbd8bed2f58fb239d5f77f13
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a08628dd493b9ddcb20d9e326758d64dc36a0056","after":"5d1fb824260721f7fbd8bed2f58fb239d5f77f13","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/a08628dd493b9ddcb20d9e326758d64dc36a0056...5d1fb824260721f7fbd8bed2f58fb239d5f77f13","commits":[{"id":"5d1fb824260721f7fbd8bed2f58fb239d5f77f13","message":"feat: 汇总内容创作、分镜视频、模型接入与平台体验更新\n\n同步双后端契约及迁移、前端工作台、部署配置、文档、验收报告和创作产物。排除本地测试凭证与主密钥。lint、typecheck、245 项契约测试、41 项身份测试及 25 项定向回归通过;治理审计源码指纹过期问题仍保留,完整发布门禁未通过。\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5d1fb824260721f7fbd8bed2f58fb239d5f77f13","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T07:34:58-07:00","added":["apps/api-fastify/prisma/migrations/20260905180000_content_workbench/migration.sql","apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/src/modules/material-production/formal-ocr.ts","apps/api-fastify/test/brand-logo-generation.integration.test.ts","apps/api-fastify/test/contact-sheet-video.integration.test.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-fastify/test/formal-ocr.integration.test.ts","apps/api-fastify/test/image-size.integration.test.ts","apps/api-fastify/test/image-source-provenance.integration.test.ts","apps/api-fastify/test/minimax-video.integration.test.ts","apps/api-fastify/test/production-template-brand.integration.test.ts","apps/api-fastify/test/script-source-assistant.integration.test.ts","apps/api-fastify/test/storyboard-refinement.integration.test.ts","apps/api-nestjs/prisma/migrations/20260905180000_content_workbench/migration.sql","apps/api-nestjs/src/creative-project/content.service.ts","apps/api-nestjs/src/material-production/formal-ocr.ts","apps/api-nestjs/test/brand-logo-generation.integration.test.ts","apps/api-nestjs/test/contact-sheet-video.integration.test.ts","apps/api-nestjs/test/content-workbench.integration.test.ts","apps/api-nestjs/test/formal-ocr.integration.test.ts","apps/api-nestjs/test/image-size.integration.test.ts","apps/api-nestjs/test/image-source-provenance.integration.test.ts","apps/api-nestjs/test/minimax-video.integration.test.ts","apps/api-nestjs/test/production-dispatch-fairness.integration.test.ts","apps/api-nestjs/test/production-template-brand.integration.test.ts","apps/api-nestjs/test/script-source-assistant.integration.test.ts","apps/api-nestjs/test/storyboard-refinement.integration.test.ts","apps/web/src/app/admin/layout.tsx","apps/web/src/app/admin/operations/page.tsx","apps/web/src/app/admin/page.tsx","apps/web/src/components/admin/AdminShell.tsx","apps/web/src/components/admin/ModelConnectionsStudio.tsx","apps/web/src/components/admin/ModelOperationsDashboard.tsx","apps/web/src/components/admin/admin.module.css","apps/web/src/components/material-factory/BrandLogoEditor.tsx","apps/web/src/components/material-factory/BrandLogoGeneration.tsx","apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/QueryFeedback.tsx","apps/web/src/components/material-factory/RoleReferencePreview.tsx","apps/web/src/components/material-factory/StoryboardContactSheet.tsx","apps/web/src/components/material-factory/StoryboardScriptImport.tsx","apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/VideoContactImport.tsx","apps/web/src/components/material-factory/WorkspaceHome.tsx","apps/web/src/components/material-factory/contact-sheet-import.ts","apps/web/src/components/material-factory/content-studio.module.css","apps/web/src/components/material-factory/material-download.ts","apps/web/src/components/material-factory/production-labels.ts","apps/web/src/components/material-factory/storyboard-contact-sheet.ts","apps/web/src/components/material-factory/storyboard-visual-assets.ts","apps/web/src/components/material-factory/video-shot-progress.ts","apps/web/src/lib/api-error-message.ts","apps/web/src/store/useBrandSelectionStore.ts","deploy/vm/clamav-supervisor.sh","deploy/vm/sidecar-arm64-requirements.txt","docs/design/platform-admin-concept.png","docs/design/platform-admin.md","docs/design/workspace-experience.md","docs/product/acceptance-and-status.md","docs/product/content-creation-workbench.md","docs/product/platform-module-map.md","output/haizan-pilot/brief.json","output/haizan-pilot/haizan-weekend-v1.png","output/haizan-pilot/haizan-weekend-v2.png","output/haizan-pilot/haizan-weekend-v2.prompt.md","output/hi-atelier-promo-30s/assets/mix.wav","output/hi-atelier-promo-30s/assets/music-original.wav","output/hi-atelier-promo-30s/assets/picture.mp4","output/hi-atelier-promo-30s/assets/voice-0.aiff","output/hi-atelier-promo-30s/assets/voice-0.wav","output/hi-atelier-promo-30s/assets/voice-1.aiff","output/hi-atelier-promo-30s/assets/voice-1.wav","output/hi-atelier-promo-30s/assets/voice-2.aiff","output/hi-atelier-promo-30s/assets/voice-2.wav","output/hi-atelier-promo-30s/assets/voice-3.aiff","output/hi-atelier-promo-30s/assets/voice-3.wav","output/hi-atelier-promo-30s/assets/voice-4.aiff","output/hi-atelier-promo-30s/assets/voice-4.wav","output/hi-atelier-promo-30s/assets/voice-5.aiff","output/hi-atelier-promo-30s/assets/voice-5.wav","output/hi-atelier-promo-30s/audio-check.json","output/hi-atelier-promo-30s/captions.srt","output/hi-atelier-promo-30s/cover.png","output/hi-atelier-promo-30s/encoded-preview.jpg","output/hi-atelier-promo-30s/frames/01.png","output/hi-atelier-promo-30s/frames/02.png","output/hi-atelier-promo-30s/frames/03.png","output/hi-atelier-promo-30s/frames/04.png","output/hi-atelier-promo-30s/frames/05.png","output/hi-atelier-promo-30s/frames/06.png","output/hi-atelier-promo-30s/frames/encoded-01.jpg","output/hi-atelier-promo-30s/frames/encoded-02.jpg","output/hi-atelier-promo-30s/frames/encoded-03.jpg","output/hi-atelier-promo-30s/frames/encoded-04.jpg","output/hi-atelier-promo-30s/frames/encoded-05.jpg","output/hi-atelier-promo-30s/frames/encoded-06.jpg","output/hi-atelier-promo-30s/hi-atelier-promo-30s.mp4","output/hi-atelier-promo-30s/render_video.py","output/hi-atelier-promo-30s/storyboard-preview.jpg","output/hi-atelier-promo-30s/storyboard.json","output/hi-atelier-promo-30s/validation.json","output/hi-atelier-promo-30s/创意与制作说明.md","output/marketing/hi-atelier-compintel-2026-09-05.desktop.png","output/marketing/hi-atelier-compintel-2026-09-05.html","output/marketing/hi-atelier-compintel-2026-09-05.mobile.png","output/marketing/hi-atelier-compintel-2026-09-05.validation.json","output/marketing/hi-atelier-product-poster-20260905-v1.png","output/marketing/hi-atelier-product-poster-20260905-v1.prompt.md","output/marketing/hi-atelier-sales-poster-02-store-20260905.png","output/marketing/hi-atelier-sales-poster-03-delivery-20260905.png","output/marketing/hi-atelier-sales-poster-20260905-v1.png","output/marketing/hi-atelier-sales-poster-20260905-v1.prompt.md","output/marketing/hi-atelier-sales-posters-3pack-20260905.zip","output/marketing/hi-atelier-sales-series-20260905.prompts.md","packages/contracts/src/brand-logo.test.ts","packages/contracts/src/content.test.ts","packages/contracts/src/content.ts","packages/contracts/src/deepseek.test.ts","packages/contracts/src/formal-ocr.test.ts","packages/contracts/src/image-edit.test.ts","packages/contracts/src/image-edit.ts","packages/contracts/src/image-size.test.ts","packages/contracts/src/image-size.ts","packages/contracts/src/material-runtime-routing.test.ts","packages/contracts/src/minimax.test.ts","packages/contracts/src/script-source-assistant.test.ts","packages/contracts/src/storyboard-contact.test.ts","packages/contracts/src/storyboard-contact.ts","packages/enterprise-identity/src/mutation-origin.test.ts","reports/api-validation-error-2026-09-05.md","reports/browser-origin-save-2026-09-05.md","reports/content-module-500-recovery-2026-09-05.md","reports/content-route-recovery-2026-09-05.md","reports/deep-reassessment-2026-09-05/README.md","reports/deep-reassessment-2026-09-05/callback-probe.json","reports/deep-reassessment-2026-09-05/callback-probe.py","reports/deep-reassessment-2026-09-05/evidence-index.json","reports/deep-reassessment-2026-09-05/fastify-bypass-probe.cjs","reports/deep-reassessment-2026-09-05/fastify-bypass-probe.json","reports/deep-reassessment-2026-09-05/http-probes.json","reports/deep-reassessment-2026-09-05/model-readiness.json","reports/deepseek-text-2026-09-05/README.md","reports/documentation-refresh-2026-09-05.json","reports/documentation-refresh-2026-09-05.md","reports/haizan-pilot-2026-09-05/README.md","reports/haizan-pilot-2026-09-05/asset-candidates.json","reports/haizan-pilot-2026-09-05/asset-v2.json","reports/haizan-pilot-2026-09-05/candidate-existing-haizan.png","reports/haizan-pilot-2026-09-05/container-recovery-final.json","reports/haizan-pilot-2026-09-05/container-restoration.json","reports/haizan-pilot-2026-09-05/containers-before-restart.jsonl","reports/haizan-pilot-2026-09-05/deployment-health.txt","reports/haizan-pilot-2026-09-05/docker-restart-verification.json","reports/haizan-pilot-2026-09-05/docker-settings.before.json","reports/haizan-pilot-2026-09-05/infrastructure.json","reports/haizan-pilot-2026-09-05/pilot-record.json","reports/haizan-pilot-2026-09-05/production-after-quality.json","reports/haizan-pilot-2026-09-05/production-pending-review.json","reports/haizan-pilot-2026-09-05/quality-response.json","reports/haizan-pilot-2026-09-05/quality-v2-response.json","reports/haizan-pilot-2026-09-05/revision-v2-response.json","reports/haizan-pilot-2026-09-05/submit-response.json","reports/main-submission-2026-09-05.md","reports/minimax-h3-2026-09-05/README.md","reports/minimax-runtime-recovery-2026-09-05.md","reports/platform-admin-2026-09-05/admin-desktop.png","reports/platform-admin-2026-09-05/admin-mobile.png","reports/platform-admin-2026-09-05/model-api-key-saved.png","reports/platform-admin-2026-09-05/model-credential-error.desktop.png","reports/platform-admin-2026-09-05/model-credential-error.mobile.png","reports/platform-admin-2026-09-05/ui-acceptance.desktop.png","reports/platform-admin-2026-09-05/ui-acceptance.json","reports/platform-admin-2026-09-05/ui-acceptance.mobile.png","reports/platform-admin-2026-09-05/ui-acceptance.production.png","reports/product-design-review-2026-09-05/01-entry.png","reports/product-design-review-2026-09-05/02-brand-home.png","reports/product-design-review-2026-09-05/03-template-edit.png","reports/product-design-review-2026-09-05/04-production.png","reports/product-design-review-2026-09-05/05-production-brief.png","reports/product-design-review-2026-09-05/06-review.png","reports/product-design-review-2026-09-05/07-delivery.png","reports/product-design-review-2026-09-05/README.md","reports/product-ux-fixes-2026-09-05/README.md","reports/product-ux-fixes-2026-09-05/admin-desktop.png","reports/product-ux-fixes-2026-09-05/admin-mobile.png","reports/product-ux-fixes-2026-09-05/final-verification.json","reports/product-ux-fixes-2026-09-05/live-edit.png","reports/product-ux-fixes-2026-09-05/live-home.png","reports/product-ux-fixes-2026-09-05/model-api-key-saved.png","reports/product-ux-fixes-2026-09-05/model-credential-error.desktop.png","reports/product-ux-fixes-2026-09-05/model-credential-error.mobile.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.desktop.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.latest.json","reports/product-ux-fixes-2026-09-05/ui-acceptance.mobile.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.production.png","reports/product-ux-fixes-2026-09-05/ux-edit.desktop.png","reports/product-ux-fixes-2026-09-05/ux-home.desktop.png","reports/product-ux-fixes-2026-09-05/ux-home.mobile.png","reports/product-ux-fixes-2026-09-05/ux-intake.desktop.png","reports/project-deep-analysis-2026-09-05.md","reports/script-integration-audit-2026-09-05/README.md","reports/script-integration-audit-2026-09-05/probe.py","reports/script-integration-audit-2026-09-05/runtime-evidence.json","reports/script-integration-audit-2026-09-05/verification.json","reports/storyboard-import-2026-09-05/README.md","reports/storyboard-import-2026-09-05/model-generation.md","reports/storyboard-import-2026-09-05/saved-project.json","reports/storyboard-refinement-2026-09-05/README.md","reports/storyboard-visual-assets-2026-09-05/README.md","reports/storyboard-visual-assets-2026-09-05/saved-project.json","reports/text-edit-verification-2026-09-05/README.md","reports/text-edit-verification-2026-09-05/browser.json","reports/text-edit-verification-2026-09-05/failed.desktop.png","reports/text-edit-verification-2026-09-05/fields.mobile.png","reports/text-edit-verification-2026-09-05/ocr-existing-local.json","reports/text-edit-verification-2026-09-05/ocr-runtime.json","reports/text-edit-verification-2026-09-05/runtime-contract-rejection.json","reports/text-edit-verification-2026-09-05/runtime.json","reports/text-edit-verification-2026-09-05/verification.json","reports/text-edit-verification-2026-09-05/verification.mobile.png","reports/verified-creative-breakpoint-2026-09-05/README.md","reports/verified-creative-breakpoint-2026-09-05/adversarial-acceptance-audit.latest.md","reports/verified-creative-breakpoint-2026-09-05/baseline.json","reports/verified-creative-breakpoint-2026-09-05/governance.latest.json","reports/verified-creative-breakpoint-2026-09-05/inference-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/production-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/public-file-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/runtime-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/runtime-prior-failure.json","reports/verified-creative-breakpoint-2026-09-05/script-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/source.tar.gz","reports/verified-creative-breakpoint-2026-09-05/source.tar.gz.sha256","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.desktop.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.draft-import.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.mobile.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.production.png","scripts/api-error-message.test.mjs","scripts/check-pilot-infrastructure.mjs","scripts/clamav-supervisor.test.mjs","scripts/job-recovery.test.mjs","scripts/lib/prd-ui-acceptance.mjs","scripts/lib/source-fingerprint.test.mjs","scripts/material-download.test.mjs","scripts/repair-image-source-provenance.mjs","scripts/storyboard-contact-sheet.test.mjs","scripts/storyboard-visual-assets.test.mjs","scripts/video-shot-progress.test.mjs","services/model-sidecar/minimax_video.py","services/model-sidecar/test_deepseek.py","services/model-sidecar/test_minimax_video.py","services/model-sidecar/test_text_edit.py","services/model-sidecar/text_edit.py"],"removed":["apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ModelOperationsDashboard.tsx"],"modified":[".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/src/routes/creative-project.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/src/creative-project/creative-project.controller.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-worker.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-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/api-nestjs/src/material-production/job-intent-dispatcher.service.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/creative-project.integration.test.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/next.config.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/CreativeProjectBar.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/ExportModal.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/InstanceGallery.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/components/material-factory/MasterCanvas.tsx","apps/web/src/components/material-factory/PipelineFlow.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/job-recovery.ts","apps/web/src/components/material-factory/model-catalog.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/components/material-factory/ui.tsx","apps/web/src/lib/api.ts","apps/web/src/store/useCreationPrefsStore.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","deploy/vm/.env.example","deploy/vm/deploy.sh","deploy/vm/docker-compose.yml","deploy/vm/sidecar.Dockerfile","docs/README.md","docs/adr/0010-controlled-ai-material-factory.md","docs/adr/0011-consume-enterprise-idp-access-tokens.md","docs/adr/0012-model-execution-routing-and-catalog.md","docs/adr/0016-durable-creative-projects.md","docs/browser-enterprise-login.md","docs/deploy-vm.md","docs/domain-glossary.md","docs/domain/material-production-blueprint.md","docs/domain/owner-matrix.md","docs/model-credentials.md","docs/product/controlled-ai-material-factory.md","docs/product/creative-pipeline-design.md","docs/product/creative-workflow-analysis.md","docs/standards/backend-standard.md","docs/standards/frontend-standard.md","packages/contracts/src/creative-project.ts","packages/contracts/src/creative-queue-policy.ts","packages/contracts/src/index.ts","packages/contracts/src/material.ts","packages/contracts/src/production.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-llm.test.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/storyboard.ts","packages/contracts/src/video-capability.ts","packages/enterprise-identity/src/browser-session.ts","reports/contract-consumers.latest.json","reports/creative-breakpoint-fix-2026-09-05.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/validation-source.latest.json","scripts/check-production-security.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/source-fingerprint.mjs","services/model-sidecar/main.py","services/model-sidecar/test_mask_composite.py"]}],"total_commits":0,"head_commit":{"id":"5d1fb824260721f7fbd8bed2f58fb239d5f77f13","message":"feat: 汇总内容创作、分镜视频、模型接入与平台体验更新\n\n同步双后端契约及迁移、前端工作台、部署配置、文档、验收报告和创作产物。排除本地测试凭证与主密钥。lint、typecheck、245 项契约测试、41 项身份测试及 25 项定向回归通过;治理审计源码指纹过期问题仍保留,完整发布门禁未通过。\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5d1fb824260721f7fbd8bed2f58fb239d5f77f13","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T07:34:58-07:00","added":["apps/api-fastify/prisma/migrations/20260905180000_content_workbench/migration.sql","apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/src/modules/material-production/formal-ocr.ts","apps/api-fastify/test/brand-logo-generation.integration.test.ts","apps/api-fastify/test/contact-sheet-video.integration.test.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-fastify/test/formal-ocr.integration.test.ts","apps/api-fastify/test/image-size.integration.test.ts","apps/api-fastify/test/image-source-provenance.integration.test.ts","apps/api-fastify/test/minimax-video.integration.test.ts","apps/api-fastify/test/production-template-brand.integration.test.ts","apps/api-fastify/test/script-source-assistant.integration.test.ts","apps/api-fastify/test/storyboard-refinement.integration.test.ts","apps/api-nestjs/prisma/migrations/20260905180000_content_workbench/migration.sql","apps/api-nestjs/src/creative-project/content.service.ts","apps/api-nestjs/src/material-production/formal-ocr.ts","apps/api-nestjs/test/brand-logo-generation.integration.test.ts","apps/api-nestjs/test/contact-sheet-video.integration.test.ts","apps/api-nestjs/test/content-workbench.integration.test.ts","apps/api-nestjs/test/formal-ocr.integration.test.ts","apps/api-nestjs/test/image-size.integration.test.ts","apps/api-nestjs/test/image-source-provenance.integration.test.ts","apps/api-nestjs/test/minimax-video.integration.test.ts","apps/api-nestjs/test/production-dispatch-fairness.integration.test.ts","apps/api-nestjs/test/production-template-brand.integration.test.ts","apps/api-nestjs/test/script-source-assistant.integration.test.ts","apps/api-nestjs/test/storyboard-refinement.integration.test.ts","apps/web/src/app/admin/layout.tsx","apps/web/src/app/admin/operations/page.tsx","apps/web/src/app/admin/page.tsx","apps/web/src/components/admin/AdminShell.tsx","apps/web/src/components/admin/ModelConnectionsStudio.tsx","apps/web/src/components/admin/ModelOperationsDashboard.tsx","apps/web/src/components/admin/admin.module.css","apps/web/src/components/material-factory/BrandLogoEditor.tsx","apps/web/src/components/material-factory/BrandLogoGeneration.tsx","apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/QueryFeedback.tsx","apps/web/src/components/material-factory/RoleReferencePreview.tsx","apps/web/src/components/material-factory/StoryboardContactSheet.tsx","apps/web/src/components/material-factory/StoryboardScriptImport.tsx","apps/web/src/components/material-factory/StoryboardVisualAssetImport.tsx","apps/web/src/components/material-factory/VideoContactImport.tsx","apps/web/src/components/material-factory/WorkspaceHome.tsx","apps/web/src/components/material-factory/contact-sheet-import.ts","apps/web/src/components/material-factory/content-studio.module.css","apps/web/src/components/material-factory/material-download.ts","apps/web/src/components/material-factory/production-labels.ts","apps/web/src/components/material-factory/storyboard-contact-sheet.ts","apps/web/src/components/material-factory/storyboard-visual-assets.ts","apps/web/src/components/material-factory/video-shot-progress.ts","apps/web/src/lib/api-error-message.ts","apps/web/src/store/useBrandSelectionStore.ts","deploy/vm/clamav-supervisor.sh","deploy/vm/sidecar-arm64-requirements.txt","docs/design/platform-admin-concept.png","docs/design/platform-admin.md","docs/design/workspace-experience.md","docs/product/acceptance-and-status.md","docs/product/content-creation-workbench.md","docs/product/platform-module-map.md","output/haizan-pilot/brief.json","output/haizan-pilot/haizan-weekend-v1.png","output/haizan-pilot/haizan-weekend-v2.png","output/haizan-pilot/haizan-weekend-v2.prompt.md","output/hi-atelier-promo-30s/assets/mix.wav","output/hi-atelier-promo-30s/assets/music-original.wav","output/hi-atelier-promo-30s/assets/picture.mp4","output/hi-atelier-promo-30s/assets/voice-0.aiff","output/hi-atelier-promo-30s/assets/voice-0.wav","output/hi-atelier-promo-30s/assets/voice-1.aiff","output/hi-atelier-promo-30s/assets/voice-1.wav","output/hi-atelier-promo-30s/assets/voice-2.aiff","output/hi-atelier-promo-30s/assets/voice-2.wav","output/hi-atelier-promo-30s/assets/voice-3.aiff","output/hi-atelier-promo-30s/assets/voice-3.wav","output/hi-atelier-promo-30s/assets/voice-4.aiff","output/hi-atelier-promo-30s/assets/voice-4.wav","output/hi-atelier-promo-30s/assets/voice-5.aiff","output/hi-atelier-promo-30s/assets/voice-5.wav","output/hi-atelier-promo-30s/audio-check.json","output/hi-atelier-promo-30s/captions.srt","output/hi-atelier-promo-30s/cover.png","output/hi-atelier-promo-30s/encoded-preview.jpg","output/hi-atelier-promo-30s/frames/01.png","output/hi-atelier-promo-30s/frames/02.png","output/hi-atelier-promo-30s/frames/03.png","output/hi-atelier-promo-30s/frames/04.png","output/hi-atelier-promo-30s/frames/05.png","output/hi-atelier-promo-30s/frames/06.png","output/hi-atelier-promo-30s/frames/encoded-01.jpg","output/hi-atelier-promo-30s/frames/encoded-02.jpg","output/hi-atelier-promo-30s/frames/encoded-03.jpg","output/hi-atelier-promo-30s/frames/encoded-04.jpg","output/hi-atelier-promo-30s/frames/encoded-05.jpg","output/hi-atelier-promo-30s/frames/encoded-06.jpg","output/hi-atelier-promo-30s/hi-atelier-promo-30s.mp4","output/hi-atelier-promo-30s/render_video.py","output/hi-atelier-promo-30s/storyboard-preview.jpg","output/hi-atelier-promo-30s/storyboard.json","output/hi-atelier-promo-30s/validation.json","output/hi-atelier-promo-30s/创意与制作说明.md","output/marketing/hi-atelier-compintel-2026-09-05.desktop.png","output/marketing/hi-atelier-compintel-2026-09-05.html","output/marketing/hi-atelier-compintel-2026-09-05.mobile.png","output/marketing/hi-atelier-compintel-2026-09-05.validation.json","output/marketing/hi-atelier-product-poster-20260905-v1.png","output/marketing/hi-atelier-product-poster-20260905-v1.prompt.md","output/marketing/hi-atelier-sales-poster-02-store-20260905.png","output/marketing/hi-atelier-sales-poster-03-delivery-20260905.png","output/marketing/hi-atelier-sales-poster-20260905-v1.png","output/marketing/hi-atelier-sales-poster-20260905-v1.prompt.md","output/marketing/hi-atelier-sales-posters-3pack-20260905.zip","output/marketing/hi-atelier-sales-series-20260905.prompts.md","packages/contracts/src/brand-logo.test.ts","packages/contracts/src/content.test.ts","packages/contracts/src/content.ts","packages/contracts/src/deepseek.test.ts","packages/contracts/src/formal-ocr.test.ts","packages/contracts/src/image-edit.test.ts","packages/contracts/src/image-edit.ts","packages/contracts/src/image-size.test.ts","packages/contracts/src/image-size.ts","packages/contracts/src/material-runtime-routing.test.ts","packages/contracts/src/minimax.test.ts","packages/contracts/src/script-source-assistant.test.ts","packages/contracts/src/storyboard-contact.test.ts","packages/contracts/src/storyboard-contact.ts","packages/enterprise-identity/src/mutation-origin.test.ts","reports/api-validation-error-2026-09-05.md","reports/browser-origin-save-2026-09-05.md","reports/content-module-500-recovery-2026-09-05.md","reports/content-route-recovery-2026-09-05.md","reports/deep-reassessment-2026-09-05/README.md","reports/deep-reassessment-2026-09-05/callback-probe.json","reports/deep-reassessment-2026-09-05/callback-probe.py","reports/deep-reassessment-2026-09-05/evidence-index.json","reports/deep-reassessment-2026-09-05/fastify-bypass-probe.cjs","reports/deep-reassessment-2026-09-05/fastify-bypass-probe.json","reports/deep-reassessment-2026-09-05/http-probes.json","reports/deep-reassessment-2026-09-05/model-readiness.json","reports/deepseek-text-2026-09-05/README.md","reports/documentation-refresh-2026-09-05.json","reports/documentation-refresh-2026-09-05.md","reports/haizan-pilot-2026-09-05/README.md","reports/haizan-pilot-2026-09-05/asset-candidates.json","reports/haizan-pilot-2026-09-05/asset-v2.json","reports/haizan-pilot-2026-09-05/candidate-existing-haizan.png","reports/haizan-pilot-2026-09-05/container-recovery-final.json","reports/haizan-pilot-2026-09-05/container-restoration.json","reports/haizan-pilot-2026-09-05/containers-before-restart.jsonl","reports/haizan-pilot-2026-09-05/deployment-health.txt","reports/haizan-pilot-2026-09-05/docker-restart-verification.json","reports/haizan-pilot-2026-09-05/docker-settings.before.json","reports/haizan-pilot-2026-09-05/infrastructure.json","reports/haizan-pilot-2026-09-05/pilot-record.json","reports/haizan-pilot-2026-09-05/production-after-quality.json","reports/haizan-pilot-2026-09-05/production-pending-review.json","reports/haizan-pilot-2026-09-05/quality-response.json","reports/haizan-pilot-2026-09-05/quality-v2-response.json","reports/haizan-pilot-2026-09-05/revision-v2-response.json","reports/haizan-pilot-2026-09-05/submit-response.json","reports/main-submission-2026-09-05.md","reports/minimax-h3-2026-09-05/README.md","reports/minimax-runtime-recovery-2026-09-05.md","reports/platform-admin-2026-09-05/admin-desktop.png","reports/platform-admin-2026-09-05/admin-mobile.png","reports/platform-admin-2026-09-05/model-api-key-saved.png","reports/platform-admin-2026-09-05/model-credential-error.desktop.png","reports/platform-admin-2026-09-05/model-credential-error.mobile.png","reports/platform-admin-2026-09-05/ui-acceptance.desktop.png","reports/platform-admin-2026-09-05/ui-acceptance.json","reports/platform-admin-2026-09-05/ui-acceptance.mobile.png","reports/platform-admin-2026-09-05/ui-acceptance.production.png","reports/product-design-review-2026-09-05/01-entry.png","reports/product-design-review-2026-09-05/02-brand-home.png","reports/product-design-review-2026-09-05/03-template-edit.png","reports/product-design-review-2026-09-05/04-production.png","reports/product-design-review-2026-09-05/05-production-brief.png","reports/product-design-review-2026-09-05/06-review.png","reports/product-design-review-2026-09-05/07-delivery.png","reports/product-design-review-2026-09-05/README.md","reports/product-ux-fixes-2026-09-05/README.md","reports/product-ux-fixes-2026-09-05/admin-desktop.png","reports/product-ux-fixes-2026-09-05/admin-mobile.png","reports/product-ux-fixes-2026-09-05/final-verification.json","reports/product-ux-fixes-2026-09-05/live-edit.png","reports/product-ux-fixes-2026-09-05/live-home.png","reports/product-ux-fixes-2026-09-05/model-api-key-saved.png","reports/product-ux-fixes-2026-09-05/model-credential-error.desktop.png","reports/product-ux-fixes-2026-09-05/model-credential-error.mobile.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.desktop.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.latest.json","reports/product-ux-fixes-2026-09-05/ui-acceptance.mobile.png","reports/product-ux-fixes-2026-09-05/ui-acceptance.production.png","reports/product-ux-fixes-2026-09-05/ux-edit.desktop.png","reports/product-ux-fixes-2026-09-05/ux-home.desktop.png","reports/product-ux-fixes-2026-09-05/ux-home.mobile.png","reports/product-ux-fixes-2026-09-05/ux-intake.desktop.png","reports/project-deep-analysis-2026-09-05.md","reports/script-integration-audit-2026-09-05/README.md","reports/script-integration-audit-2026-09-05/probe.py","reports/script-integration-audit-2026-09-05/runtime-evidence.json","reports/script-integration-audit-2026-09-05/verification.json","reports/storyboard-import-2026-09-05/README.md","reports/storyboard-import-2026-09-05/model-generation.md","reports/storyboard-import-2026-09-05/saved-project.json","reports/storyboard-refinement-2026-09-05/README.md","reports/storyboard-visual-assets-2026-09-05/README.md","reports/storyboard-visual-assets-2026-09-05/saved-project.json","reports/text-edit-verification-2026-09-05/README.md","reports/text-edit-verification-2026-09-05/browser.json","reports/text-edit-verification-2026-09-05/failed.desktop.png","reports/text-edit-verification-2026-09-05/fields.mobile.png","reports/text-edit-verification-2026-09-05/ocr-existing-local.json","reports/text-edit-verification-2026-09-05/ocr-runtime.json","reports/text-edit-verification-2026-09-05/runtime-contract-rejection.json","reports/text-edit-verification-2026-09-05/runtime.json","reports/text-edit-verification-2026-09-05/verification.json","reports/text-edit-verification-2026-09-05/verification.mobile.png","reports/verified-creative-breakpoint-2026-09-05/README.md","reports/verified-creative-breakpoint-2026-09-05/adversarial-acceptance-audit.latest.md","reports/verified-creative-breakpoint-2026-09-05/baseline.json","reports/verified-creative-breakpoint-2026-09-05/governance.latest.json","reports/verified-creative-breakpoint-2026-09-05/inference-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/production-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/public-file-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/runtime-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/runtime-prior-failure.json","reports/verified-creative-breakpoint-2026-09-05/script-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/source.tar.gz","reports/verified-creative-breakpoint-2026-09-05/source.tar.gz.sha256","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.desktop.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.draft-import.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.latest.json","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.mobile.png","reports/verified-creative-breakpoint-2026-09-05/ui-acceptance.production.png","scripts/api-error-message.test.mjs","scripts/check-pilot-infrastructure.mjs","scripts/clamav-supervisor.test.mjs","scripts/job-recovery.test.mjs","scripts/lib/prd-ui-acceptance.mjs","scripts/lib/source-fingerprint.test.mjs","scripts/material-download.test.mjs","scripts/repair-image-source-provenance.mjs","scripts/storyboard-contact-sheet.test.mjs","scripts/storyboard-visual-assets.test.mjs","scripts/video-shot-progress.test.mjs","services/model-sidecar/minimax_video.py","services/model-sidecar/test_deepseek.py","services/model-sidecar/test_minimax_video.py","services/model-sidecar/test_text_edit.py","services/model-sidecar/text_edit.py"],"removed":["apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ModelOperationsDashboard.tsx"],"modified":[".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/modules/material-production/runtime-trust.ts","apps/api-fastify/src/routes/creative-project.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-fastify/test/material-runtime-trust.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/common/material-runtime.guard.ts","apps/api-nestjs/src/creative-project/creative-project.controller.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-worker.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-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/api-nestjs/src/material-production/job-intent-dispatcher.service.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/creative-project.integration.test.ts","apps/api-nestjs/test/material-runtime-guard.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/next.config.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/CreativeProjectBar.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/ExportModal.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/InstanceGallery.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/components/material-factory/MasterCanvas.tsx","apps/web/src/components/material-factory/PipelineFlow.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/job-recovery.ts","apps/web/src/components/material-factory/model-catalog.tsx","apps/web/src/components/material-factory/queries.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/components/material-factory/ui.tsx","apps/web/src/lib/api.ts","apps/web/src/store/useCreationPrefsStore.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","deploy/vm/.env.example","deploy/vm/deploy.sh","deploy/vm/docker-compose.yml","deploy/vm/sidecar.Dockerfile","docs/README.md","docs/adr/0010-controlled-ai-material-factory.md","docs/adr/0011-consume-enterprise-idp-access-tokens.md","docs/adr/0012-model-execution-routing-and-catalog.md","docs/adr/0016-durable-creative-projects.md","docs/browser-enterprise-login.md","docs/deploy-vm.md","docs/domain-glossary.md","docs/domain/material-production-blueprint.md","docs/domain/owner-matrix.md","docs/model-credentials.md","docs/product/controlled-ai-material-factory.md","docs/product/creative-pipeline-design.md","docs/product/creative-workflow-analysis.md","docs/standards/backend-standard.md","docs/standards/frontend-standard.md","packages/contracts/src/creative-project.ts","packages/contracts/src/creative-queue-policy.ts","packages/contracts/src/index.ts","packages/contracts/src/material.ts","packages/contracts/src/production.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-llm.test.ts","packages/contracts/src/storyboard-llm.ts","packages/contracts/src/storyboard.ts","packages/contracts/src/video-capability.ts","packages/enterprise-identity/src/browser-session.ts","reports/contract-consumers.latest.json","reports/creative-breakpoint-fix-2026-09-05.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/validation-source.latest.json","scripts/check-production-security.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/source-fingerprint.mjs","services/model-sidecar/main.py","services/model-sidecar/test_mask_composite.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":70880,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-05T12:34:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788618931
|
1788619022
|
0
|
1788618931
|
1788619022
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23879
|
Merge branch 'main' into codex/ms1-integra Merge branch 'main' into codex/ms1-integration...
|
116
|
5
|
platform.yml
|
13
|
5
|
0
|
refs/heads/main
|
e5aca81c94597d4cb18cc65fa5b0855d4333aaf6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6c7f04cb97ab7909f083fd60c790ecda34e9b8ee","after":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6c7f04cb97ab7909f083fd60c790ecda34e9b8ee...e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","commits":[{"id":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","message":"Merge branch 'main' into codex/ms1-integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json","runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json","runtime/pnpm-lock.yaml","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]},{"id":"4505ba0e62378d67855a7dbb4d9bbadc935c17b7","message":"fix(ci): build acceptance dependencies and parse colored IdP test counts\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/4505ba0e62378d67855a7dbb4d9bbadc935c17b7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["governance/test/acceptance-build.test.mjs","governance/test/acceptance-output.test.mjs","identity/scripts/lib/test-output.mjs","runtime/scripts/lib/acceptance-build.mjs"],"removed":[],"modified":["identity/scripts/check-runtime-acceptance.mjs","runtime/scripts/check-conformance-differential.mjs"]},{"id":"0999ec81ee12d1e42691ff076236e64740316403","message":"test(chaos): PostgreSQL 断连失败关闭用例转实(开发计划 §3A T-3)\n\n- runtime/test/chaos/postgres-disconnect.test.ts:黑盒起真实 NestJS 进程(apps/api-nestjs/dist/src/main.js,与 bootstrap 同一入口),\n 三条 DB 连接串经测试内 TCP 代理转发;cut() 掐断存量连接并拒绝新连接,restore() 恢复。\n 断言:断连后 /api/health 503 且 database=down;写链 POST /api/users 5xx 且恢复后该写不存在(无部分写 / 无幽灵状态);\n 读 GET /api/users 5xx(示例域未声明降级读,不得回空列表冒充成功);无 DB 依赖的 GET /api/platform/modules 仍 200;\n 进程存活(dispatcher 轮询失败不带崩);恢复后健康回 200、新写成功、旧数据完好;子进程日志须含 DB 错误行。\n 缺 DATABASE_URL / REDIS_URL 时整组 skip(不冒充已跑);用例结束删除自建用户、SIGTERM 子进程。\n- fail-closed.test.ts 只留 NATS / OpenBao 两个 pending-dec todo(PG 已转实)。\n- platform-tests devDeps 增 api-nestjs(turbo test 依赖 ^build 先构建应用)与 @types/node。\n\n本机对已迁移库单跑:3/3 绿,boot 520ms,断连期 health=503 write=500 read=500 ops=200、进程存活。真实 DB 验收随后绑定本提交。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0999ec81ee12d1e42691ff076236e64740316403","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:22:57-07:00","added":["runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":["runtime/pnpm-lock.yaml","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]}],"total_commits":0,"head_commit":{"id":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","message":"Merge branch 'main' into codex/ms1-integration\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:23:38-07:00","added":["contracts/generated/ActorContextV1.ts","contracts/generated/AppManifestV1.ts","contracts/generated/EmploymentProjectionV1.ts","contracts/generated/EmploymentScopeInvalidationProjectionV1.ts","contracts/generated/EmploymentTransferredV1.ts","contracts/generated/FactEnvelopeV1.ts","contracts/generated/PermissionCatalogV1.ts","contracts/generated/PermissionDecisionRequestV1.ts","contracts/generated/PermissionDecisionResponseV1.ts","contracts/generated/PlatformProjectCatalogV1.ts","contracts/generated/PublicFileRefV1.ts","contracts/generated/RequestContextV1.ts","contracts/generated/index.ts","contracts/generated/registry.ts","contracts/pnpm-lock.yaml","contracts/scripts/generate-types.mjs","contracts/scripts/schema-registry.mjs","contracts/src/index.ts","contracts/src/validators.ts","contracts/test/generate-types.test.mjs","contracts/test/validators.test.mjs","contracts/tsconfig.json","runtime/test/chaos/postgres-disconnect.test.ts"],"removed":[],"modified":[".github/workflows/platform.yml",".github/workflows/publish-packages.yml","CLAUDE.md","README.md","contracts/README.md","contracts/SOURCE.md","contracts/package.json","runtime/pnpm-lock.yaml","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json","runtime/test/chaos/fail-closed.test.ts","runtime/test/package.json"]},"repository":{"id":116,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2907,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-12T16:18:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
22
|
1789201488
|
1789201522
|
0
|
1789201488
|
1789201541
|
group: platform-${{ github.workflow }}-${{ github. group: platform-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
platform-platform.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23957
|
加固 JWT 信任边界并补充平台接入文档
|
51
|
5
|
ci.yml
|
13
|
5
|
0
|
refs/heads/main
|
fe40791d1aec2f0e2a6fa6826d26b210add5f8bd
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"88fb2aa68377d24865992a812dc9dfb5f200569c","after":"fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/88fb2aa68377d24865992a812dc9dfb5f200569c...fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","commits":[{"id":"fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","message":"加固 JWT 信任边界并补充平台接入文档\n\n- server/src/lib/jwt.ts 收紧令牌校验,新增 jwt-trust-boundary 单元测试\n- 补充 docs/platform-onboarding.md 平台接入说明\n- 同步 env/docker-compose/vitest 配置与 r0-r1 鉴权测试\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","author":{"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:51:34-07:00","added":["docs/platform-onboarding.md","server/test/jwt-trust-boundary.unit.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","e2e/playwright.config.ts","scripts/docs-metrics.mjs","server/.env.example","server/README.md","server/docker-compose.yml","server/scripts/test-docker-suite.mjs","server/src/config/env.ts","server/src/lib/jwt.ts","server/src/openapi.ts","server/test/r0-r1-auth.test.ts","server/test/runtime-contract.unit.test.ts","server/vitest.config.ts","团购本地生活AI运营App/Dockerfile.colima","开发计划.md"]}],"total_commits":0,"head_commit":{"id":"fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","message":"加固 JWT 信任边界并补充平台接入文档\n\n- server/src/lib/jwt.ts 收紧令牌校验,新增 jwt-trust-boundary 单元测试\n- 补充 docs/platform-onboarding.md 平台接入说明\n- 同步 env/docker-compose/vitest 配置与 r0-r1 鉴权测试\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","author":{"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:51:34-07:00","added":["docs/platform-onboarding.md","server/test/jwt-trust-boundary.unit.test.ts"],"removed":[],"modified":["CLAUDE.md","README.md","e2e/playwright.config.ts","scripts/docs-metrics.mjs","server/.env.example","server/README.md","server/docker-compose.yml","server/scripts/test-docker-suite.mjs","server/src/config/env.ts","server/src/lib/jwt.ts","server/src/openapi.ts","server/test/r0-r1-auth.test.ts","server/test/runtime-contract.unit.test.ts","server/vitest.config.ts","团购本地生活AI运营App/Dockerfile.colima","开发计划.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":87599,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-07-31T17:58: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
|
8
|
1789440855
|
1789440998
|
0
|
1789440853
|
1789440998
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23973
|
chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多 chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败...
|
83
|
5
|
platform-governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
3c9f6df78f540226554cb4ecc6115741fe478c41
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a0ebf7769727344892ab96c1240bd809b5791430","after":"3c9f6df78f540226554cb4ecc6115741fe478c41","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/a0ebf7769727344892ab96c1240bd809b5791430...3c9f6df78f540226554cb4ecc6115741fe478c41","commits":[{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d970541bd56e5f82659322c8f738d2f5d49c1770","message":"chore(governance): 命名门禁修复后在新 HEAD 上重跑,静态面由 12 通过升为 13\n\n上一提交(8d74d4d)改了 scripts/ 下四个治理模块,按证据纪律旧报告随即失效——\n本提交只动 reports/,绑定 8d74d4d,与源码内容一一对应。\n\n静态门禁 13 通过 / 7 失败。7 条里没有一条是本仓代码质量问题:\n- 4 条缺实例:dual-backend-behavior / health-dependency-failure /\n outbox-multi-instance 需 DATABASE_URL,api-migration-safety 需\n MIGRATION_TEST_ADMIN_URL(这三份报告刻意不提交,见上一轮说明)\n- 1 条崩栈:os-product-host-ui\n- 2 条级联:os-product-layer 卡在 host-ui 报告,\n os-product-registration-verification 卡在 target OS checkout 与 runtime 验收证据\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/d970541bd56e5f82659322c8f738d2f5d49c1770","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:41:17-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"8d74d4d814aad8e2df43f867e1dd61baf59b9075","message":"fix(governance): 命名门禁 32 条违规逐行豁免 —— 治理脚本里的 terminal 是终态不是终端\n\na0ebf77(当前 HEAD 的前一提交)引入 scripts/lib/database-rls-*-governance.mjs 与\nos-product-migration-governance.mjs 时,命名门禁没跑过——提交后 naming 由 0 条变\n32 条,而 reports/naming.latest.json 停在 09-01 的 violations: 0,没人看得见。\n这正是\"无一份证据绑定当前 HEAD\"的实际后果。\n\n32 条全部是误报类:\n- 31 × terminal:`employment-terminal-late-authority-revoke` 这类指的是**迁移序列\n 与 RLS 的终态**,业务词典要求改成 device(设备)在这里是错的\n- 1 × business:`shared business database` 是 PostgreSQL 术语,不是业务方\n\n扫描面与词典自 2026-08-25 bootstrap 起未变,所以不是门禁改严了,是新代码撞上了\n一直存在的词表。\n\n用门禁自带的逐行 `// naming-ignore` 机制,并逐条写明理由——不收窄 SCAN_DIRS:\n治理脚本里同样会出现业务概念名,去掉 scripts/ 会让真的违规漏网。豁免要作者写明,\n不能按路径猜,与工作区一致性门禁的 `\u003c!-- 一致性门禁豁免 --\u003e` 同一口径。\n\n改动只在行尾追加注释,5 处含模板字符串的行已逐一核对反引号在同行闭合。\n三份治理模块的自有测试 311/311 通过,四个文件 node --check 通过。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/8d74d4d814aad8e2df43f867e1dd61baf59b9075","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:40:57-07:00","added":[],"removed":[],"modified":["scripts/check-api-migration-safety.mjs","scripts/lib/database-rls-history-governance.mjs","scripts/lib/database-rls-history-governance.test.mjs","scripts/lib/database-rls-role-governance.mjs","scripts/lib/database-rls-role-governance.test.mjs","scripts/lib/os-product-migration-governance.mjs","scripts/lib/os-product-migration-governance.test.mjs"]},{"id":"7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","message":"chore(governance): 在 clean HEAD 上重跑静态门禁,并记下 naming 的 32 条真实违规\n\n迁移后本仓 37 份 reports/*.latest.json 无一绑定当前 HEAD,全部生成于脏树,其中\n15 份正文还带着 /Users/ailaoluo/ 的两代前绝对根——那是另一台机器。所以此前既不能\n说\"当前 HEAD 是绿的\",也不能说\"是红的\",它一直是未知数。\n\n本次在 clean HEAD (a0ebf77) 上重跑全部静态门禁:12 通过 / 8 失败,提交其中 15 份\n(provenance 全部 gitSha=a0ebf77 且 worktreeDirty=false)。\n\n**一条真实失败:check-naming 32 条违规。** 上一份报告(09-01)记的是 violations: 0。\n命中全部落在门禁脚本自己身上——scripts/lib/database-rls-history-governance.mjs 的\n`terminal`(RLS 终态)被业务词典判成应改为 device,check-api-migration-safety.mjs 的\n`business database` 判成应改为 merchant。业务词典的扫描面覆盖到了治理脚本,而那里的\n词是技术义不是业务义。这是扫描面扩大后出现的误报类失败,词典或扫描面需收敛。\n\n**刻意不提交 3 份**:dual-backend-behavior / health-dependency-failure /\noutbox-multi-instance 因缺 DATABASE_URL 写出 failed——那是跑不起来,不是判定失败,\n记进去会把环境缺失伪装成质量问题。\n\n**保留两份 OS 产品的失败报告**:os-product-layer 与 os-product-registration-verification\n这次的失败理由是当前的(前者卡 host-ui 报告、后者卡 target OS checkout 与 runtime\n验收证据),且不再含两代前的绝对根——比它们替换掉的旧报告更可用。\n\n按证据等级\"静态 \u003c 真实 DB \u003c 浏览器\",本次只提升到静态一级。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/7d14ff2472a4204046b7d6bbea1a4d84f408e7f3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:35:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"3c9f6df78f540226554cb4ecc6115741fe478c41","message":"chore(governance): 接真实 DB 重跑,13→15 通过,并暴露 outbox 多实例的可复现失败\n\n按本目录\"每轮新建空验收库\"的口径建独立库:\n juhai_ai_hr_system_parity_20260915(prisma migrate deploy 后为空库)\n REDIS_URL 用 /14 号逻辑库\n\n库名前缀不是随便起的——G15 守卫按 package.json 的 name 推导(juhai_ai_hr_system),\n首次用 juhai_hr_parity_* 被三条门禁正确拒绝:\"Database … does not belong to …\"。\n守卫工作正常,是库名起错了。\n\n接上实例后两条转绿:check-dual-backend-behavior、check-health-dependency-failure。\n\n**新暴露一条可复现失败:check-outbox-multi-instance**\n nestjs / fastify 双侧同样结果:dispatched=120, observed=0, subscriberStatus=ready\n连跑两次一致。门禁本身跑完了全程,不是\"缺环境变量跑不起来\"那一类。根因未定——\n可能是缺少未文档化的 relay / worker 配置(本仓 .env 里没有任何 REDIS/DATABASE 项),\n也可能是真实缺陷。不在此下结论,交仓 Owner;报告如实记录该结果。\n\n仍失败的另外 4 条:api-migration-safety 需 MIGRATION_TEST_ADMIN_URL;\nos-product-host-ui 需浏览器;os-product-layer 与 os-product-registration 分别级联于\nhost-ui 报告与 target OS checkout / runtime 验收证据。\n\n18 份报告 provenance 全部绑定 d970541 且 worktreeDirty=false;连接串中口令已按仓内\n既有口径脱敏为 app:***,仅余本机地址与库名。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/3c9f6df78f540226554cb4ecc6115741fe478c41","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:50:03-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/database-rls.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/health-dependency-failure.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-distribution.latest.json","reports/os-product-layer.latest.json","reports/os-product-privacy.latest.json","reports/os-product-registration-verification.latest.json","reports/outbox-multi-instance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5038,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T12:10:42+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
8
|
1789458978
|
1789459054
|
0
|
1789458920
|
1789459054
|
|
|
0
|
Edit
Delete
|
|
24018
|
docs(决策): CHG-018 第二份回执——撤回条件 E,裁定工作台技术栈为 Next.js docs(决策): CHG-018 第二份回执——撤回条件 E,裁定工作台技术栈为 Next.js 静态导出 + React + TypeScript 纯静态 SPA...
|
117
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
1318ce98ce92ecd6875ea21440c7bb6f15c16ec0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d6deb3aa8539adc597eef52f0fd70b6f852c8525","after":"1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/d6deb3aa8539adc597eef52f0fd70b6f852c8525...1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","commits":[{"id":"1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","message":"docs(决策): CHG-018 第二份回执——撤回条件 E,裁定工作台技术栈为 Next.js 静态导出 + React + TypeScript 纯静态 SPA\n\n签署人同日改为沿用现有 Next.js/React/TypeScript 并选纯静态 SPA。CHG-018 材料 §5 追加第二份回执(amends conditions[E],techStackDecision 全字段);状态行、决策批次 §3、N-10、开发计划 09-17 段与 §8、设计方案 §22.1 / §26 同步:阶段 ② 前置余 A(§6 缺失管理接口验收)、D(维护者实名)。Catalog 不动,一致性检查 L4 / L10 / L13 清零。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:37:20-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","message":"docs(决策): CHG-018 第二份回执——撤回条件 E,裁定工作台技术栈为 Next.js 静态导出 + React + TypeScript 纯静态 SPA\n\n签署人同日改为沿用现有 Next.js/React/TypeScript 并选纯静态 SPA。CHG-018 材料 §5 追加第二份回执(amends conditions[E],techStackDecision 全字段);状态行、决策批次 §3、N-10、开发计划 09-17 段与 §8、设计方案 §22.1 / §26 同步:阶段 ② 前置余 A(§6 缺失管理接口验收)、D(维护者实名)。Catalog 不动,一致性检查 L4 / L10 / L13 清零。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:37:20-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/决策批次-2026-09-16.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.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":7280,"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-17T22:29: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
|
1
|
4
|
1789655877
|
1789655892
|
0
|
1789655843
|
1789655892
|
|
|
0
|
Edit
Delete
|
|
24422
|
feat(notification): add platform delivery consumer
|
72
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6908c19f9faf3b006d73054657b97c6cb8f945d9","after":"3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/compare/6908c19f9faf3b006d73054657b97c6cb8f945d9...3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","commits":[{"id":"3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","message":"feat(notification): add platform delivery consumer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:56:12-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md","packages/notification-delivery/README.md"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/notification-delivery/notification-delivery.service.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/events/notification-delivery.service.ts","docs/domain/owner-matrix.md","docs/domain/quotation-blueprint.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},{"id":"8cae1a58031ddc85848d02cff06cfd4d11083098","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-quotation-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-quotation-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/8cae1a58031ddc85848d02cff06cfd4d11083098","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:32-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","message":"feat(notification): add platform delivery consumer\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T07:56:12-07:00","added":["apps/api-nestjs/test/platform-notification-delivery.acceptance.test.ts","docs/deployment-record-2026-09-23-platform-notification-consumer.md","packages/notification-delivery/README.md"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/notification-delivery/notification-delivery.service.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/events/notification-delivery.service.ts","docs/domain/owner-matrix.md","docs/domain/quotation-blueprint.md","packages/notification-delivery/src/index.test.ts","packages/notification-delivery/src/index.ts"]},"repository":{"id":72,"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-quotation-system","full_name":"luoanwu/juhai-quotation-system","description":"巨嗨报价系统:Next.js + NestJS/Fastify 双后端治理型报价业务底座","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":35859,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-quotation-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":11,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-31T03:51:09+08:00","updated_at":"2026-09-19T07:07:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1790175940
|
1790175971
|
0
|
1790175423
|
1790175971
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24658
|
Record verified release governance slices
|
121
|
5
|
kernel-ci.yml
|
13
|
5
|
0
|
refs/heads/main
|
5f607eb22a5ef160fdc74423910299d135063168
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"21d073490c60bb141a267af9424b9f0ef7c3440d","after":"5f607eb22a5ef160fdc74423910299d135063168","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/21d073490c60bb141a267af9424b9f0ef7c3440d...5f607eb22a5ef160fdc74423910299d135063168","commits":[{"id":"5f607eb22a5ef160fdc74423910299d135063168","message":"Record verified release governance slices\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f607eb22a5ef160fdc74423910299d135063168","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:57:38-07:00","added":[],"removed":[],"modified":["model/plan-ledger.json"]},{"id":"239f2c763e90332c51604e63564d91657538e010","message":"Integrate verified release anchors\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/239f2c763e90332c51604e63564d91657538e010","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:56:25-07:00","added":["docs/release-anchors.md","model/release-anchors.json","ops/deployments/2026-09-29-release-anchor-backfill-local.md","scripts/check-release-anchors.js"],"removed":[],"modified":["ops/runbook.md","package.json"]},{"id":"2d6d24acc989cd2f9da43b3a0e15bac7366ed6e7","message":"Integrate release metadata conflict controls\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/2d6d24acc989cd2f9da43b3a0e15bac7366ed6e7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:55:33-07:00","added":["docs/releases/0.107.0.md","docs/releases/0.108.0.md","docs/releases/README.md","docs/releases/candidates/README.md","scripts/prepare-release.js","test/prepare-release.test.js"],"removed":[],"modified":["README.md","docs/all-local-event-payload-contracts.md","docs/claims.json","docs/roadmap.md","ops/runbook.md","scripts/check-doc-claims.js"]},{"id":"932f66bcfe3722a193971e340995218a7b739c86","message":"Resolve release anchor paths in Unicode worktrees\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/932f66bcfe3722a193971e340995218a7b739c86","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:55:27-07:00","added":[],"removed":[],"modified":["scripts/check-release-anchors.js"]},{"id":"7fd8043b0bfe2509368a0f4ba59e7bcb5d80a619","message":"Document verified runner image pull blocker\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/7fd8043b0bfe2509368a0f4ba59e7bcb5d80a619","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:54:24-07:00","added":[],"removed":[],"modified":["docs/local-ci.md"]}],"total_commits":0,"head_commit":{"id":"5f607eb22a5ef160fdc74423910299d135063168","message":"Record verified release governance slices\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/5f607eb22a5ef160fdc74423910299d135063168","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:57:38-07:00","added":[],"removed":[],"modified":["model/plan-ledger.json"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":33664,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-09-30T01:15: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
|
1790704681
|
1790704711
|
0
|
1790704679
|
1790704711
|
|
|
0
|
Edit
Delete
|
|
25674
|
Add auth
|
137
|
5
|
workflow.yml
|
13
|
5
|
0
|
refs/tags/v1.1.0
|
5273d0df9c603edc4284ac8402cf650b4f1f6686
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.1.0","bef {"ref":"refs/tags/v1.1.0","before":"0000000000000000000000000000000000000000","after":"5273d0df9c603edc4284ac8402cf650b4f1f6686","compare_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/compare/0000000000000000000000000000000000000000...5273d0df9c603edc4284ac8402cf650b4f1f6686","commits":[],"total_commits":0,"head_commit":{"id":"5273d0df9c603edc4284ac8402cf650b4f1f6686","message":"Add auth\n","url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/commit/5273d0df9c603edc4284ac8402cf650b4f1f6686","author":{"name":"Danny McCormick","email":"damccorm@microsoft.com","username":""},"committer":{"name":"Danny McCormick","email":"damccorm@microsoft.com","username":""},"verification":null,"timestamp":"2019-08-06T18:29:44-04:00","added":["__tests__/__snapshots__/authutil.test.ts.snap","__tests__/authutil.test.ts","lib/authutil.js","node_modules/.bin/which","node_modules/.bin/which.cmd","node_modules/@actions/github/README.md","node_modules/@actions/github/lib/context.d.ts","node_modules/@actions/github/lib/context.js","node_modules/@actions/github/lib/context.js.map","node_modules/@actions/github/lib/github.d.ts","node_modules/@actions/github/lib/github.js","node_modules/@actions/github/lib/github.js.map","node_modules/@actions/github/lib/interfaces.d.ts","node_modules/@actions/github/lib/interfaces.js","node_modules/@actions/github/lib/interfaces.js.map","node_modules/@actions/github/package.json","node_modules/@octokit/endpoint/LICENSE","node_modules/@octokit/endpoint/README.md","node_modules/@octokit/endpoint/dist-node/index.js","node_modules/@octokit/endpoint/dist-src/defaults.js","node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js","node_modules/@octokit/endpoint/dist-src/generated/routes.js","node_modules/@octokit/endpoint/dist-src/index.js","node_modules/@octokit/endpoint/dist-src/merge.js","node_modules/@octokit/endpoint/dist-src/parse.js","node_modules/@octokit/endpoint/dist-src/types.js","node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js","node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js","node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js","node_modules/@octokit/endpoint/dist-src/util/omit.js","node_modules/@octokit/endpoint/dist-src/version.js","node_modules/@octokit/endpoint/dist-src/with-defaults.js","node_modules/@octokit/endpoint/dist-types/defaults.d.ts","node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts","node_modules/@octokit/endpoint/dist-types/generated/routes.d.ts","node_modules/@octokit/endpoint/dist-types/index.d.ts","node_modules/@octokit/endpoint/dist-types/merge.d.ts","node_modules/@octokit/endpoint/dist-types/parse.d.ts","node_modules/@octokit/endpoint/dist-types/types.d.ts","node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts","node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts","node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts","node_modules/@octokit/endpoint/dist-types/util/omit.d.ts","node_modules/@octokit/endpoint/dist-types/version.d.ts","node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts","node_modules/@octokit/endpoint/dist-web/index.js","node_modules/@octokit/endpoint/node_modules/is-plain-object/LICENSE","node_modules/@octokit/endpoint/node_modules/is-plain-object/README.md","node_modules/@octokit/endpoint/node_modules/is-plain-object/index.cjs.js","node_modules/@octokit/endpoint/node_modules/is-plain-object/index.d.ts","node_modules/@octokit/endpoint/node_modules/is-plain-object/index.js","node_modules/@octokit/endpoint/node_modules/is-plain-object/package.json","node_modules/@octokit/endpoint/node_modules/isobject/LICENSE","node_modules/@octokit/endpoint/node_modules/isobject/README.md","node_modules/@octokit/endpoint/node_modules/isobject/index.cjs.js","node_modules/@octokit/endpoint/node_modules/isobject/index.d.ts","node_modules/@octokit/endpoint/node_modules/isobject/index.js","node_modules/@octokit/endpoint/node_modules/isobject/package.json","node_modules/@octokit/endpoint/node_modules/universal-user-agent/.travis.yml","node_modules/@octokit/endpoint/node_modules/universal-user-agent/LICENSE.md","node_modules/@octokit/endpoint/node_modules/universal-user-agent/README.md","node_modules/@octokit/endpoint/node_modules/universal-user-agent/browser.js","node_modules/@octokit/endpoint/node_modules/universal-user-agent/cypress.json","node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.d.ts","node_modules/@octokit/endpoint/node_modules/universal-user-agent/index.js","node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json","node_modules/@octokit/endpoint/node_modules/universal-user-agent/test/smoke-test.js","node_modules/@octokit/endpoint/package.json","node_modules/@octokit/graphql/LICENSE","node_modules/@octokit/graphql/README.md","node_modules/@octokit/graphql/index.js","node_modules/@octokit/graphql/lib/error.js","node_modules/@octokit/graphql/lib/graphql.js","node_modules/@octokit/graphql/lib/with-defaults.js","node_modules/@octokit/graphql/package.json","node_modules/@octokit/request-error/LICENSE","node_modules/@octokit/request-error/README.md","node_modules/@octokit/request-error/dist-node/index.js","node_modules/@octokit/request-error/dist-src/index.js","node_modules/@octokit/request-error/dist-src/types.js","node_modules/@octokit/request-error/dist-types/index.d.ts","node_modules/@octokit/request-error/dist-types/types.d.ts","node_modules/@octokit/request-error/dist-web/index.js","node_modules/@octokit/request-error/package.json","node_modules/@octokit/request/LICENSE","node_modules/@octokit/request/README.md","node_modules/@octokit/request/dist-node/index.js","node_modules/@octokit/request/dist-src/fetch-wrapper.js","node_modules/@octokit/request/dist-src/get-buffer-response.js","node_modules/@octokit/request/dist-src/index.js","node_modules/@octokit/request/dist-src/types.js","node_modules/@octokit/request/dist-src/version.js","node_modules/@octokit/request/dist-src/with-defaults.js","node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts","node_modules/@octokit/request/dist-types/get-buffer-response.d.ts","node_modules/@octokit/request/dist-types/index.d.ts","node_modules/@octokit/request/dist-types/types.d.ts","node_modules/@octokit/request/dist-types/version.d.ts","node_modules/@octokit/request/dist-types/with-defaults.d.ts","node_modules/@octokit/request/dist-web/index.js","node_modules/@octokit/request/node_modules/is-plain-object/LICENSE","node_modules/@octokit/request/node_modules/is-plain-object/README.md","node_modules/@octokit/request/node_modules/is-plain-object/index.cjs.js","node_modules/@octokit/request/node_modules/is-plain-object/index.d.ts","node_modules/@octokit/request/node_modules/is-plain-object/index.js","node_modules/@octokit/request/node_modules/is-plain-object/package.json","node_modules/@octokit/request/node_modules/isobject/LICENSE","node_modules/@octokit/request/node_modules/isobject/README.md","node_modules/@octokit/request/node_modules/isobject/index.cjs.js","node_modules/@octokit/request/node_modules/isobject/index.d.ts","node_modules/@octokit/request/node_modules/isobject/index.js","node_modules/@octokit/request/node_modules/isobject/package.json","node_modules/@octokit/request/node_modules/universal-user-agent/.travis.yml","node_modules/@octokit/request/node_modules/universal-user-agent/LICENSE.md","node_modules/@octokit/request/node_modules/universal-user-agent/README.md","node_modules/@octokit/request/node_modules/universal-user-agent/browser.js","node_modules/@octokit/request/node_modules/universal-user-agent/cypress.json","node_modules/@octokit/request/node_modules/universal-user-agent/index.d.ts","node_modules/@octokit/request/node_modules/universal-user-agent/index.js","node_modules/@octokit/request/node_modules/universal-user-agent/package.json","node_modules/@octokit/request/node_modules/universal-user-agent/test/smoke-test.js","node_modules/@octokit/request/package.json","node_modules/@octokit/rest/LICENSE","node_modules/@octokit/rest/README.md","node_modules/@octokit/rest/index.d.ts","node_modules/@octokit/rest/index.js","node_modules/@octokit/rest/lib/constructor.js","node_modules/@octokit/rest/lib/core.js","node_modules/@octokit/rest/lib/factory.js","node_modules/@octokit/rest/lib/parse-client-options.js","node_modules/@octokit/rest/lib/register-plugin.js","node_modules/@octokit/rest/node_modules/universal-user-agent/.travis.yml","node_modules/@octokit/rest/node_modules/universal-user-agent/LICENSE.md","node_modules/@octokit/rest/node_modules/universal-user-agent/README.md","node_modules/@octokit/rest/node_modules/universal-user-agent/browser.js","node_modules/@octokit/rest/node_modules/universal-user-agent/cypress.json","node_modules/@octokit/rest/node_modules/universal-user-agent/index.d.ts","node_modules/@octokit/rest/node_modules/universal-user-agent/index.js","node_modules/@octokit/rest/node_modules/universal-user-agent/package.json","node_modules/@octokit/rest/node_modules/universal-user-agent/test/smoke-test.js","node_modules/@octokit/rest/package.json","node_modules/@octokit/rest/plugins/authentication-deprecated/authenticate.js","node_modules/@octokit/rest/plugins/authentication-deprecated/before-request.js","node_modules/@octokit/rest/plugins/authentication-deprecated/index.js","node_modules/@octokit/rest/plugins/authentication-deprecated/request-error.js","node_modules/@octokit/rest/plugins/authentication/before-request.js","node_modules/@octokit/rest/plugins/authentication/index.js","node_modules/@octokit/rest/plugins/authentication/request-error.js","node_modules/@octokit/rest/plugins/authentication/validate.js","node_modules/@octokit/rest/plugins/authentication/with-authorization-prefix.js","node_modules/@octokit/rest/plugins/log/index.js","node_modules/@octokit/rest/plugins/normalize-git-reference-responses/index.js","node_modules/@octokit/rest/plugins/pagination/index.js","node_modules/@octokit/rest/plugins/pagination/iterator.js","node_modules/@octokit/rest/plugins/pagination/normalize-paginated-list-response.js","node_modules/@octokit/rest/plugins/pagination/paginate.js","node_modules/@octokit/rest/plugins/register-endpoints/index.js","node_modules/@octokit/rest/plugins/register-endpoints/register-endpoints.js","node_modules/@octokit/rest/plugins/rest-api-endpoints/index.js","node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json","node_modules/@octokit/rest/plugins/validate/index.js","node_modules/@octokit/rest/plugins/validate/validate.js","node_modules/atob-lite/.npmignore","node_modules/atob-lite/LICENSE.md","node_modules/atob-lite/README.md","node_modules/atob-lite/atob-browser.js","node_modules/atob-lite/atob-node.js","node_modules/atob-lite/package.json","node_modules/before-after-hook/LICENSE","node_modules/before-after-hook/README.md","node_modules/before-after-hook/index.d.ts","node_modules/before-after-hook/index.js","node_modules/before-after-hook/lib/add.js","node_modules/before-after-hook/lib/register.js","node_modules/before-after-hook/lib/remove.js","node_modules/before-after-hook/package.json","node_modules/btoa-lite/.npmignore","node_modules/btoa-lite/LICENSE.md","node_modules/btoa-lite/README.md","node_modules/btoa-lite/btoa-browser.js","node_modules/btoa-lite/btoa-node.js","node_modules/btoa-lite/package.json","node_modules/cross-spawn/CHANGELOG.md","node_modules/cross-spawn/LICENSE","node_modules/cross-spawn/README.md","node_modules/cross-spawn/index.js","node_modules/cross-spawn/lib/enoent.js","node_modules/cross-spawn/lib/parse.js","node_modules/cross-spawn/lib/util/escape.js","node_modules/cross-spawn/lib/util/readShebang.js","node_modules/cross-spawn/lib/util/resolveCommand.js","node_modules/cross-spawn/node_modules/.bin/semver","node_modules/cross-spawn/node_modules/.bin/semver.cmd","node_modules/cross-spawn/node_modules/semver/CHANGELOG.md","node_modules/cross-spawn/node_modules/semver/LICENSE","node_modules/cross-spawn/node_modules/semver/README.md","node_modules/cross-spawn/node_modules/semver/bin/semver","node_modules/cross-spawn/node_modules/semver/package.json","node_modules/cross-spawn/node_modules/semver/range.bnf","node_modules/cross-spawn/node_modules/semver/semver.js","node_modules/cross-spawn/package.json","node_modules/deepmerge/changelog.md","node_modules/deepmerge/dist/cjs.js","node_modules/deepmerge/dist/umd.js","node_modules/deepmerge/index.d.ts","node_modules/deepmerge/index.js","node_modules/deepmerge/license.txt","node_modules/deepmerge/package.json","node_modules/deepmerge/readme.md","node_modules/deepmerge/rollup.config.js","node_modules/deprecation/LICENSE","node_modules/deprecation/README.md","node_modules/deprecation/dist-node/index.js","node_modules/deprecation/dist-src/index.js","node_modules/deprecation/dist-types/index.d.ts","node_modules/deprecation/dist-web/index.js","node_modules/deprecation/package.json","node_modules/end-of-stream/LICENSE","node_modules/end-of-stream/README.md","node_modules/end-of-stream/index.js","node_modules/end-of-stream/package.json","node_modules/execa/index.js","node_modules/execa/lib/errname.js","node_modules/execa/lib/stdio.js","node_modules/execa/license","node_modules/execa/package.json","node_modules/execa/readme.md","node_modules/get-stream/buffer-stream.js","node_modules/get-stream/index.js","node_modules/get-stream/license","node_modules/get-stream/package.json","node_modules/get-stream/readme.md","node_modules/is-stream/index.js","node_modules/is-stream/license","node_modules/is-stream/package.json","node_modules/is-stream/readme.md","node_modules/isexe/.npmignore","node_modules/isexe/LICENSE","node_modules/isexe/README.md","node_modules/isexe/index.js","node_modules/isexe/mode.js","node_modules/isexe/package.json","node_modules/isexe/test/basic.js","node_modules/isexe/windows.js","node_modules/lodash.get/LICENSE","node_modules/lodash.get/README.md","node_modules/lodash.get/index.js","node_modules/lodash.get/package.json","node_modules/lodash.set/LICENSE","node_modules/lodash.set/README.md","node_modules/lodash.set/index.js","node_modules/lodash.set/package.json","node_modules/lodash.uniq/LICENSE","node_modules/lodash.uniq/README.md","node_modules/lodash.uniq/index.js","node_modules/lodash.uniq/package.json","node_modules/macos-release/index.d.ts","node_modules/macos-release/index.js","node_modules/macos-release/license","node_modules/macos-release/package.json","node_modules/macos-release/readme.md","node_modules/nice-try/CHANGELOG.md","node_modules/nice-try/LICENSE","node_modules/nice-try/README.md","node_modules/nice-try/package.json","node_modules/nice-try/src/index.js","node_modules/node-fetch/CHANGELOG.md","node_modules/node-fetch/LICENSE.md","node_modules/node-fetch/README.md","node_modules/node-fetch/browser.js","node_modules/node-fetch/lib/index.es.js","node_modules/node-fetch/lib/index.js","node_modules/node-fetch/lib/index.mjs","node_modules/node-fetch/package.json","node_modules/npm-run-path/index.js","node_modules/npm-run-path/license","node_modules/npm-run-path/package.json","node_modules/npm-run-path/readme.md","node_modules/octokit-pagination-methods/.travis.yml","node_modules/octokit-pagination-methods/CODE_OF_CONDUCT.md","node_modules/octokit-pagination-methods/LICENSE","node_modules/octokit-pagination-methods/README.md","node_modules/octokit-pagination-methods/index.js","node_modules/octokit-pagination-methods/lib/deprecate.js","node_modules/octokit-pagination-methods/lib/get-first-page.js","node_modules/octokit-pagination-methods/lib/get-last-page.js","node_modules/octokit-pagination-methods/lib/get-next-page.js","node_modules/octokit-pagination-methods/lib/get-page-links.js","node_modules/octokit-pagination-methods/lib/get-page.js","node_modules/octokit-pagination-methods/lib/get-previous-page.js","node_modules/octokit-pagination-methods/lib/has-first-page.js","node_modules/octokit-pagination-methods/lib/has-last-page.js","node_modules/octokit-pagination-methods/lib/has-next-page.js","node_modules/octokit-pagination-methods/lib/has-previous-page.js","node_modules/octokit-pagination-methods/lib/http-error.js","node_modules/octokit-pagination-methods/package.json","node_modules/octokit-pagination-methods/test.js","node_modules/once/LICENSE","node_modules/once/README.md","node_modules/once/once.js","node_modules/once/package.json","node_modules/os-name/index.d.ts","node_modules/os-name/index.js","node_modules/os-name/license","node_modules/os-name/package.json","node_modules/os-name/readme.md","node_modules/p-finally/index.js","node_modules/p-finally/license","node_modules/p-finally/package.json","node_modules/p-finally/readme.md","node_modules/path-key/index.js","node_modules/path-key/license","node_modules/path-key/package.json","node_modules/path-key/readme.md","node_modules/pump/.travis.yml","node_modules/pump/LICENSE","node_modules/pump/README.md","node_modules/pump/index.js","node_modules/pump/package.json","node_modules/pump/test-browser.js","node_modules/pump/test-node.js","node_modules/shebang-command/index.js","node_modules/shebang-command/license","node_modules/shebang-command/package.json","node_modules/shebang-command/readme.md","node_modules/shebang-regex/index.js","node_modules/shebang-regex/license","node_modules/shebang-regex/package.json","node_modules/shebang-regex/readme.md","node_modules/signal-exit/CHANGELOG.md","node_modules/signal-exit/LICENSE.txt","node_modules/signal-exit/README.md","node_modules/signal-exit/index.js","node_modules/signal-exit/package.json","node_modules/signal-exit/signals.js","node_modules/strip-eof/index.js","node_modules/strip-eof/license","node_modules/strip-eof/package.json","node_modules/strip-eof/readme.md","node_modules/universal-user-agent/.travis.yml","node_modules/universal-user-agent/LICENSE.md","node_modules/universal-user-agent/README.md","node_modules/universal-user-agent/browser.js","node_modules/universal-user-agent/cypress.json","node_modules/universal-user-agent/index.d.ts","node_modules/universal-user-agent/index.js","node_modules/universal-user-agent/package.json","node_modules/universal-user-agent/test/smoke-test.js","node_modules/url-template/.gitmodules","node_modules/url-template/.npmignore","node_modules/url-template/LICENSE","node_modules/url-template/README.md","node_modules/url-template/lib/url-template.js","node_modules/url-template/package.json","node_modules/url-template/test/index.html","node_modules/url-template/test/uritemplate-test.js","node_modules/url-template/test/url-template-test.js","node_modules/url-template/uritemplate-test/README.md","node_modules/url-template/uritemplate-test/extended-tests.json","node_modules/url-template/uritemplate-test/json2xml.xslt","node_modules/url-template/uritemplate-test/negative-tests.json","node_modules/url-template/uritemplate-test/spec-examples-by-section.json","node_modules/url-template/uritemplate-test/spec-examples.json","node_modules/url-template/uritemplate-test/transform-json-tests.xslt","node_modules/which/CHANGELOG.md","node_modules/which/LICENSE","node_modules/which/README.md","node_modules/which/bin/which","node_modules/which/package.json","node_modules/which/which.js","node_modules/windows-release/index.d.ts","node_modules/windows-release/index.js","node_modules/windows-release/license","node_modules/windows-release/package.json","node_modules/windows-release/readme.md","node_modules/wrappy/LICENSE","node_modules/wrappy/README.md","node_modules/wrappy/package.json","node_modules/wrappy/wrappy.js","src/authutil.ts","toolkit/actions-github-0.0.0.tgz"],"removed":[],"modified":["README.md","__tests__/installer.test.ts","action.yml","lib/setup-node.js","node_modules/@actions/io/README.md","node_modules/@actions/tool-cache/lib/tool-cache.js","package-lock.json","package.json","src/setup-node.ts","tsconfig.json"]},"repository":{"id":137,"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":"actions-setup-node","full_name":"luoanwu/actions-setup-node","description":"Mirror of github.com/actions/setup-node for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-setup-node.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node.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-10-13T06:36:42+08:00","updated_at":"2026-10-13T06:38: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
|
3
|
5
|
1791847247
|
1791950481
|
0
|
1791844722
|
1791950481
|
|
|
0
|
Edit
Delete
|
|
25703
|
Bump @actions/artifact to 0.3.5 (#52)
|
139
|
5
|
codeql-analysis.yml
|
13
|
5
|
0
|
refs/tags/v2.0.4
|
b3cedea9bed36890c824f4065163b667eeca272b
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v2.0.4","bef {"ref":"refs/tags/v2.0.4","before":"0000000000000000000000000000000000000000","after":"b3cedea9bed36890c824f4065163b667eeca272b","compare_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/compare/0000000000000000000000000000000000000000...b3cedea9bed36890c824f4065163b667eeca272b","commits":[],"total_commits":0,"head_commit":{"id":"b3cedea9bed36890c824f4065163b667eeca272b","message":"Bump @actions/artifact to 0.3.5 (#52)\n\n","url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/commit/b3cedea9bed36890c824f4065163b667eeca272b","author":{"name":"Konrad Pabjan","email":"konradpabjan@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2020-08-04T17:55:46+02:00","added":[],"removed":[],"modified":["dist/index.js","package-lock.json","package.json"]},"repository":{"id":139,"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":"actions-download-artifact","full_name":"luoanwu/actions-download-artifact","description":"Mirror of github.com/actions/download-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-download-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact.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-10-13T06:37:23+08:00","updated_at":"2026-10-13T06:38:59+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
|
1791854453
|
1791854484
|
0
|
1791844741
|
1791854484
|
|
|
0
|
Edit
Delete
|
|
25823
|
Merge pull request #822 from actions/tunc-d-prepar Merge pull request #822 from actions/tunc-d-prepare-upload-v7-0-2...
|
138
|
5
|
codeql-analysis.yml
|
13
|
-2
|
361
|
refs/heads/main
|
cf430e030ddbb5b0abf93d22962f4752f3646cd9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","compare_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/compare/47309c993abb98030a35d55ef7ff34b7fa1074b5...cf430e030ddbb5b0abf93d22962f4752f3646cd9","commits":[{"id":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","message":"Merge pull request #822 from actions/tunc-d-prepare-upload-v7-0-2\n\nprepare v7.0.2 release","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/cf430e030ddbb5b0abf93d22962f4752f3646cd9","author":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-10-07T12:00:52+02:00","added":[],"removed":[],"modified":["package-lock.json","package.json"]},{"id":"c2acdedd35a8824a1552c7137f8c18288c3ea469","message":"chore: prepare v7.0.2 release\n\nCo-authored-by: Copilot App \u003c223556219+Copilot@users.noreply.github.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/c2acdedd35a8824a1552c7137f8c18288c3ea469","author":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"committer":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-10-07T10:57:28+02:00","added":[],"removed":[],"modified":["package-lock.json","package.json"]},{"id":"4687c1bbaa0a58abb517d90b4bbade6754c80c1a","message":"Merge pull request #821 from actions/tunc-d-upload-artifact-package-bump\n\nBump @actions/artifact to 6.3.1","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/4687c1bbaa0a58abb517d90b4bbade6754c80c1a","author":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-10-07T09:24:16+02:00","added":[],"removed":[],"modified":[".licenses/npm/@actions/artifact.dep.yml",".licenses/npm/@actions/core.dep.yml",".licenses/npm/@actions/github.dep.yml","dist/merge/index.js","dist/upload/index.js","package-lock.json","package.json"]},{"id":"8cbe1bebdb858105d8fdd88f81404d4de4595719","message":"Bump @actions/artifact to 6.3.1\n\nRegenerate upload and merge bundles and refresh dependency license metadata.\n\nCo-authored-by: Copilot App \u003c223556219+Copilot@users.noreply.github.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/8cbe1bebdb858105d8fdd88f81404d4de4595719","author":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"committer":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-10-06T14:56:49+02:00","added":[],"removed":[],"modified":[".licenses/npm/@actions/artifact.dep.yml",".licenses/npm/@actions/core.dep.yml",".licenses/npm/@actions/github.dep.yml","dist/merge/index.js","dist/upload/index.js","package-lock.json","package.json"]},{"id":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","message":"Merge pull request #797 from actions/yacaovsnc/update-dependency\n\nInclude changes in typespec/ts-http-runtime 0.3.5","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","author":{"name":"Yang Cao","email":"yacaovsnc@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-10T12:08:32-04:00","added":[],"removed":[],"modified":["dist/merge/index.js","dist/upload/index.js","package-lock.json","package.json"]}],"total_commits":0,"head_commit":{"id":"cf430e030ddbb5b0abf93d22962f4752f3646cd9","message":"Merge pull request #822 from actions/tunc-d-prepare-upload-v7-0-2\n\nprepare v7.0.2 release","url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact/commit/cf430e030ddbb5b0abf93d22962f4752f3646cd9","author":{"name":"tunc-d","email":"46646394+tunc-d@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-10-07T12:00:52+02:00","added":[],"removed":[],"modified":["package-lock.json","package.json"]},"repository":{"id":138,"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":"actions-upload-artifact","full_name":"luoanwu/actions-upload-artifact","description":"Mirror of github.com/actions/upload-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-upload-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-upload-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-upload-artifact.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-10-13T06:37:06+08:00","updated_at":"2026-10-13T06:38: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"}}...
|
schedule
|
2
|
4
|
1791957616
|
1791957707
|
0
|
1791957615
|
1791957707
|
|
|
0
|
Edit
Delete
|
|
26140
|
docs: add independent application system atlas and docs: add independent application system atlas and editable Mermaid source...
|
81
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
377aecc6a8dd6724c301330118103b63c62a313a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f9b7f72b3d2b5f187feed06c1b681fefb6466ab7","after":"377aecc6a8dd6724c301330118103b63c62a313a","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/f9b7f72b3d2b5f187feed06c1b681fefb6466ab7...377aecc6a8dd6724c301330118103b63c62a313a","commits":[{"id":"377aecc6a8dd6724c301330118103b63c62a313a","message":"docs: add independent application system atlas and editable Mermaid source\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/377aecc6a8dd6724c301330118103b63c62a313a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-19T22:10:44-07:00","added":["docs/system-atlas/系统图册.html","docs/system-atlas/系统图册.md"],"removed":[],"modified":["README.md"]}],"total_commits":0,"head_commit":{"id":"377aecc6a8dd6724c301330118103b63c62a313a","message":"docs: add independent application system atlas and editable Mermaid source\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/377aecc6a8dd6724c301330118103b63c62a313a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-19T22:10:44-07:00","added":["docs/system-atlas/系统图册.html","docs/system-atlas/系统图册.md"],"removed":[],"modified":["README.md"]},"repository":{"id":81,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3463,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T08:47:15+08:00","updated_at":"2026-10-16T10:15:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792473074
|
1792473165
|
0
|
1792473073
|
1792473167
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26277
|
merge(infra): 合流 LiteLLM 双仓加固与固定 stack 历史
|
133
|
5
|
infra.yml
|
13
|
5
|
0
|
refs/heads/main
|
a536d894a7b1f8f10c0293ed952dd04b6572c63d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d3a4b1f10c8539c554e663c676aa956852827d67","after":"a536d894a7b1f8f10c0293ed952dd04b6572c63d","compare_url":"https://gitea.g-hi.com/luoanwu/infra/compare/d3a4b1f10c8539c554e663c676aa956852827d67...a536d894a7b1f8f10c0293ed952dd04b6572c63d","commits":[{"id":"a536d894a7b1f8f10c0293ed952dd04b6572c63d","message":"merge(infra): 合流 LiteLLM 双仓加固与固定 stack 历史\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/a536d894a7b1f8f10c0293ed952dd04b6572c63d","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-21T15:17:35-07:00","added":["acceptance-kafka.yaml","clamav/README.md","clamav/TESTING.md","clamav/entrypoint.sh","clamav/test-entrypoint.sh","docs/LiteLLM双仓加固合流与验收-2026-10-21.md","docs/evidence/litellm-confluence-2026-10-21/clamav-fixtures.log","docs/evidence/litellm-confluence-2026-10-21/compose-parity.txt","docs/evidence/litellm-confluence-2026-10-21/compose-values.json","docs/evidence/litellm-confluence-2026-10-21/control-plane-evidence.json","docs/evidence/litellm-confluence-2026-10-21/infra-check.log","docs/evidence/litellm-confluence-2026-10-21/verify-compose-values.py","reports/compose-parity.2026-10-21.txt"],"removed":[],"modified":["README.md","compose.yaml","declarations/SOURCE.json","overlays/dev.yaml"]},{"id":"f1694bf9beca0b5db27c9d91ae13d07915d0045c","message":"docs(infra): record fixed LiteLLM confluence acceptance and deployment boundary\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/f1694bf9beca0b5db27c9d91ae13d07915d0045c","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-21T15:17:30-07:00","added":["docs/LiteLLM双仓加固合流与验收-2026-10-21.md","docs/evidence/litellm-confluence-2026-10-21/clamav-fixtures.log","docs/evidence/litellm-confluence-2026-10-21/compose-parity.txt","docs/evidence/litellm-confluence-2026-10-21/compose-values.json","docs/evidence/litellm-confluence-2026-10-21/control-plane-evidence.json","docs/evidence/litellm-confluence-2026-10-21/infra-check.log","docs/evidence/litellm-confluence-2026-10-21/verify-compose-values.py"],"removed":[],"modified":["README.md","clamav/TESTING.md"]},{"id":"93f66a9f1494a9c72711d834a075eabbd12d9759","message":"chore(infra): bind declarations to fixed LiteLLM confluence source\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/93f66a9f1494a9c72711d834a075eabbd12d9759","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-21T15:15:40-07:00","added":[],"removed":[],"modified":["declarations/SOURCE.json"]},{"id":"fffa5257502453d4f3963f15d4b923b449f8caa6","message":"Merge commit '03be832fa689cd9245ac8a4b6c798f379b7557b7' of /Users/hillao/企业智能OS/04-技术中台层/enterprise-platform into codex/litellm-hardening-confluence-20261021\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/fffa5257502453d4f3963f15d4b923b449f8caa6","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-21T15:15:26-07:00","added":["acceptance-kafka.yaml","clamav/README.md","clamav/TESTING.md","clamav/entrypoint.sh","clamav/test-entrypoint.sh"],"removed":[],"modified":["README.md","compose.yaml"]},{"id":"03be832fa689cd9245ac8a4b6c798f379b7557b7","message":"Merge branch 'main' into claude/ai-gateway-hardening-20261021\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/03be832fa689cd9245ac8a4b6c798f379b7557b7","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-21T15:13:17-07:00","added":["acceptance-kafka.yaml","clamav/README.md","clamav/TESTING.md","clamav/entrypoint.sh","clamav/test-entrypoint.sh"],"removed":[],"modified":["README.md","compose.yaml"]}],"total_commits":0,"head_commit":{"id":"a536d894a7b1f8f10c0293ed952dd04b6572c63d","message":"merge(infra): 合流 LiteLLM 双仓加固与固定 stack 历史\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/a536d894a7b1f8f10c0293ed952dd04b6572c63d","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-21T15:17:35-07:00","added":["acceptance-kafka.yaml","clamav/README.md","clamav/TESTING.md","clamav/entrypoint.sh","clamav/test-entrypoint.sh","docs/LiteLLM双仓加固合流与验收-2026-10-21.md","docs/evidence/litellm-confluence-2026-10-21/clamav-fixtures.log","docs/evidence/litellm-confluence-2026-10-21/compose-parity.txt","docs/evidence/litellm-confluence-2026-10-21/compose-values.json","docs/evidence/litellm-confluence-2026-10-21/control-plane-evidence.json","docs/evidence/litellm-confluence-2026-10-21/infra-check.log","docs/evidence/litellm-confluence-2026-10-21/verify-compose-values.py","reports/compose-parity.2026-10-21.txt"],"removed":[],"modified":["README.md","compose.yaml","declarations/SOURCE.json","overlays/dev.yaml"]},"repository":{"id":133,"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":"infra","full_name":"luoanwu/infra","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":966,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra/languages","html_url":"https://gitea.g-hi.com/luoanwu/infra","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/infra.git","clone_url":"https://gitea.g-hi.com/luoanwu/infra.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-10-11T21:11:15+08:00","updated_at":"2026-10-21T12:46:36+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
6
|
1792621076
|
1792621114
|
0
|
1792621075
|
1792621114
|
|
|
0
|
Edit
Delete
|
|
26408
|
docs(governance): record completed static and evid docs(governance): record completed static and evidence verification for kernel 0.27...
|
135
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
6b4743d345460a8e8b1dff7e2c6ed259357ce62b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9ae301c3f85add3196e697922b824bbd97d0fde0","after":"6b4743d345460a8e8b1dff7e2c6ed259357ce62b","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/compare/9ae301c3f85add3196e697922b824bbd97d0fde0...6b4743d345460a8e8b1dff7e2c6ed259357ce62b","commits":[{"id":"6b4743d345460a8e8b1dff7e2c6ed259357ce62b","message":"docs(governance): record completed static and evidence verification for kernel 0.27\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/6b4743d345460a8e8b1dff7e2c6ed259357ce62b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:30:39-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-matrix.latest.json","reports/consumer-profile027.latest.json","reports/contract-consumers.latest.json","reports/device-boundaries.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/evidence-current.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.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":"60ccfff88103e894e724e794a9aefce711f240f1","message":"test(kernel): record clean Zod4 runtime, four-axis UI and cumulative migration evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/60ccfff88103e894e724e794a9aefce711f240f1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:01:32-07:00","added":["reports/consumer-profile027.latest.json","reports/governance-kit.latest.json","reports/kernel-consumer-migration.latest.json"],"removed":[],"modified":["CLAUDE.md","reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/device-boundaries.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-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"d6b14039a9ee58b22fbc5d90036e537af866ffac","message":"fix(evidence): verify clean source successors and exact generated SHA updates\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/d6b14039a9ee58b22fbc5d90036e537af866ffac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T19:53:54-07:00","added":["scripts/lib/acceptance-successor.mjs","scripts/lib/acceptance-successor.test.mjs"],"removed":[],"modified":["CLAUDE.md","docs/kernel-027-migration.md","governance/framework-consumer.json","scripts/check-evidence-current.mjs"]},{"id":"dfb9ffdabe2c7506eca50dbca5987f018ffd63dc","message":"fix(kernel): apply cumulative fact-intent RLS prerequisites without rewriting history\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/dfb9ffdabe2c7506eca50dbca5987f018ffd63dc","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T19:33:38-07:00","added":["apps/api-fastify/prisma/migrations/20261024021000_kernel_027_fact_intents/migration.sql","apps/api-nestjs/prisma/migrations/20261024021000_kernel_027_fact_intents/migration.sql"],"removed":[],"modified":["COMPATIBILITY.md","apps/api-fastify/prisma/schema.prisma","apps/api-nestjs/prisma/schema.prisma","docs/kernel-027-migration.md"]},{"id":"fbf47beb02d5e7785a8672ef47cd338896df7526","message":"fix(build): retain config workspace inputs in isolated image build\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/fbf47beb02d5e7785a8672ef47cd338896df7526","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T19:25:35-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/Dockerfile"]}],"total_commits":0,"head_commit":{"id":"6b4743d345460a8e8b1dff7e2c6ed259357ce62b","message":"docs(governance): record completed static and evidence verification for kernel 0.27\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/6b4743d345460a8e8b1dff7e2c6ed259357ce62b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-23T20:30:39-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-matrix.latest.json","reports/consumer-profile027.latest.json","reports/contract-consumers.latest.json","reports/device-boundaries.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/evidence-current.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.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"]},"repository":{"id":135,"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-thing-cloud","full_name":"luoanwu/juhai-thing-cloud","description":"物云:02「物」域应用,自设备云 juhai-device-cloud 4652ce0 分叉","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3111,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-thing-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud.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-10-12T21:14:44+08:00","updated_at":"2026-10-23T09:55: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
|
10
|
1792812701
|
1792812764
|
0
|
1792812701
|
1792813919
|
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
|
|
26597
|
chore(evidence): record C50/C51 deployment 17 and chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30...
|
82
|
5
|
governance.yml
|
13
|
5
|
0
|
refs/heads/main
|
74600c013eaaba8a404534b49f5d731134e37be9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"756ce30a7133fe68054a5b580db709d915246968","after":"74600c013eaaba8a404534b49f5d731134e37be9","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/756ce30a7133fe68054a5b580db709d915246968...74600c013eaaba8a404534b49f5d731134e37be9","commits":[{"id":"74600c013eaaba8a404534b49f5d731134e37be9","message":"chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30\n\nFour images built with ENV HOST=0.0.0.0 in the api-nestjs target; owned\nlabeled fixture network (pgvector/Redis/MinIO/ClamAV, no published ports)\nremoved with its volumes afterwards.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/74600c013eaaba8a404534b49f5d731134e37be9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:11:44-07:00","added":[],"removed":[],"modified":["reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.json"]}],"total_commits":0,"head_commit":{"id":"74600c013eaaba8a404534b49f5d731134e37be9","message":"chore(evidence): record C50/C51 deployment 17 and production 17 artifact steps on 756ce30\n\nFour images built with ENV HOST=0.0.0.0 in the api-nestjs target; owned\nlabeled fixture network (pgvector/Redis/MinIO/ClamAV, no published ports)\nremoved with its volumes afterwards.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/74600c013eaaba8a404534b49f5d731134e37be9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:11:44-07:00","added":[],"removed":[],"modified":["reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.json"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3819,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-10-28T09:58:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1793153510
|
1793153518
|
0
|
1793153510
|
1793153519
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26914
|
docs(deploy): 记录 React 固定版本本机预览验收
|
160
|
5
|
ci.yml
|
13
|
5
|
0
|
refs/heads/main
|
c56d74ed8b0eaf2894ef0c944adcf878e03803d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"782018b7c721129de41189a65276dee1652eb5c5","after":"c56d74ed8b0eaf2894ef0c944adcf878e03803d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/compare/782018b7c721129de41189a65276dee1652eb5c5...c56d74ed8b0eaf2894ef0c944adcf878e03803d0","commits":[{"id":"c56d74ed8b0eaf2894ef0c944adcf878e03803d0","message":"docs(deploy): 记录 React 固定版本本机预览验收\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/c56d74ed8b0eaf2894ef0c944adcf878e03803d0","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:40:09-08:00","added":[],"removed":[],"modified":["docs/eios-transformation/React前端替换-2026-11-01.md","reports/eios-react-import-2026-11-01.json"]}],"total_commits":0,"head_commit":{"id":"c56d74ed8b0eaf2894ef0c944adcf878e03803d0","message":"docs(deploy): 记录 React 固定版本本机预览验收\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/c56d74ed8b0eaf2894ef0c944adcf878e03803d0","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:40:09-08:00","added":[],"removed":[],"modified":["docs/eios-transformation/React前端替换-2026-11-01.md","reports/eios-react-import-2026-11-01.json"]},"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":2112155,"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-11-02T08:33: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
|
3
|
10
|
1793580024
|
1793580541
|
0
|
1793580013
|
1793580541
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
21995
|
build: 完善Release版本构建配置
|
13
|
5
|
codeql-analysis.yml
|
14
|
-2
|
46
|
refs/heads/main
|
6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","compare_url":"https://gitea.g-hi.com/luoanwu/printer-server/compare/c254333cc45c082124d3d4fd01a4a3fc3fda7296...6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","commits":[{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},{"id":"b44b6415c67f54b2d1bcd688757fec2aaf1686f4","message":"fix: 修复PrintJob状态转换和数据库初始化崩溃问题\n\n1. PrinterDatabase.optimizeDatabase()\n - 将PRAGMA命令从execSQL改为query()方法\n - Room的SupportSQLiteDatabase对PRAGMA有限制\n - 添加异常处理确保数据库优化失败不影响启动\n\n2. PrinterService.onTaskFailed()\n - 添加状态检查逻辑,根据当前状态决定处理方式\n - FAILED状态:执行重试逻辑\n - PRINTING状态:先转换为FAILED再重试\n - 其他状态:直接重新调度执行\n\n3. PrintingApplicationService.executePrintJob()\n - 新增prepareJobForPrinting()确保状态正确转换\n - CREATED -\u003e QUEUED -\u003e PRINTING 状态流转\n - 新增handleJobFailure()安全处理失败\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/b44b6415c67f54b2d1bcd688757fec2aaf1686f4","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:54:24+08:00","added":[],"removed":[],"modified":["printer-redesign/application/service/PrinterService.java","printer-redesign/application/service/PrintingApplicationService.java","printer-redesign/infrastructure/database/PrinterDatabase.java","printer-redesign/scripts/build-release.sh"]},{"id":"d2d0385e8b5c1b06d7e59f108c6e9f845905c841","message":"fix: 修复编译错误并成功构建APK\n\n修复内容:\n- PrintTestActivity: 重写以修复API兼容性问题\n - observeEnabled()替代getEnabledPrinters()\n - 移除PrinterApplication依赖\n - 修复Priority/PrintType方法调用\n - 修复rawContent类型(String→byte[])\n- OrderFormatterService: 补充shouldBeep()方法闭合括号\n- TemplateRenderEngine: 修复方法调用\n - getSummary()→toString()\n - setFontSize()→setSize()\n - setWidth()→setLength()\n- PrintJobDao: 添加getActiveJobs()方法\n- QueueViewModel: 修复RxJava包装和cancel()参数\n- MainViewModel: 移除totalCount()调用\n- PrinterConfigDTO: 修复fromEntity()方法兼容性\n\n构建结果:APK 7.8MB\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/d2d0385e8b5c1b06d7e59f108c6e9f845905c841","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:38:29+08:00","added":[],"removed":[],"modified":["printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/domain/service/OrderFormatterService.java","printer-redesign/infrastructure/database/dao/PrintJobDao.java","printer-redesign/infrastructure/device/EscPosExecutor.java","printer-redesign/infrastructure/device/PrinterCommandExecutor.java","printer-redesign/infrastructure/device/TsplExecutor.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java"]},{"id":"f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","message":"feat: 增强应用架构与测试功能\n\n- 新增 CQRS 模式支持 (command/query/dto)\n- 添加 PrintTestActivity 测试界面\n- 新增 MainViewModel 和 QueueViewModel\n- 完善 build.gradle 配置与签名设置\n- 优化 MainActivity 功能与交互\n- 增强 PrintTaskAdapter 适配逻辑\n- 添加 proguard 混淆规则和构建脚本\n- 更新 UI 资源文件\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:28:57+08:00","added":["printer-redesign/application/command/ConfigurePrinterCommand.java","printer-redesign/application/command/RecoverDeadLetterCommand.java","printer-redesign/application/command/SubmitPrintJobCommand.java","printer-redesign/application/dto/PrintJobDTO.java","printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/dto/QueueStatsDTO.java","printer-redesign/application/query/GetPrintJobsQuery.java","printer-redesign/application/query/GetQueueStatsQuery.java","printer-redesign/keystore.properties.template","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java","printer-redesign/proguard-rules.pro","printer-redesign/scripts/build-release.sh","printer-redesign/scripts/generate-keystore.sh","printer-redesign/src/main/res/drawable/ic_help.xml","printer-redesign/src/main/res/layout/activity_print_test.xml"],"removed":[],"modified":[".gitignore","printer-redesign/build.gradle","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/migration/BillStyleAdapter.java","printer-redesign/migration/PrintTaskAdapter.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/values/colors.xml","printer-redesign/src/main/res/values/strings.xml"]},{"id":"4052be41183584c726cd84d2f9d9cb5c371da83b","message":"feat: 完善模板引擎系统与UI优化\n\n模板引擎增强:\n- 新增 ExpressionEvaluator 表达式求值器,支持复杂条件判断\n- 新增 FormatPipeline 格式化管道,支持货币/日期/截断等格式化\n- 新增 ContextDataEnhanced 增强上下文,支持嵌套路径和管道\n- 新增 GroupElement 分组元素,支持条件渲染和循环渲染\n- 新增 TableElementEnhanced 增强表格,支持分组/小计/合计\n- 新增 ImageElement 图片元素,支持URL/Base64/本地文件\n- 新增 TemplateValidator 模板验证器\n- 新增 TemplateRenderEngineEnhanced 增强渲染引擎\n- 完善 TemplateManager 模板管理器\n\nUI和功能优化:\n- 新增 HealthCheckActivity 健康检查详情页\n- 新增 LogViewerActivity 日志查看页面\n- 新增 QueueDetailActivity 队列详情页面\n- 优化 MainActivity 界面布局和状态显示\n- 精简 SystemPrintDriver 代码结构\n- 新增相关资源文件和菜单\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/4052be41183584c726cd84d2f9d9cb5c371da83b","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:12:50+08:00","added":["printer-redesign/application/engine/TemplateRenderEngineEnhanced.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/docs/TEMPLATE_ENHANCEMENT_GUIDE.md","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/domain/service/formatter/StrategyRegistry.java","printer-redesign/domain/template/ContextDataEnhanced.java","printer-redesign/domain/template/CutElement.java","printer-redesign/domain/template/FormatPipeline.java","printer-redesign/domain/template/GroupElement.java","printer-redesign/domain/template/ImageElement.java","printer-redesign/domain/template/QRCodeElement.java","printer-redesign/domain/template/SpacerElement.java","printer-redesign/domain/template/TableElementEnhanced.java","printer-redesign/infrastructure/device/utils/BitmapToEscPosUtil.java","printer-redesign/presentation/HealthCheckActivity.java","printer-redesign/presentation/LogViewerActivity.java","printer-redesign/presentation/QueueDetailActivity.java","printer-redesign/src/main/res/drawable/bg_error_message.xml","printer-redesign/src/main/res/drawable/bg_status_chip.xml","printer-redesign/src/main/res/drawable/ic_check_circle.xml","printer-redesign/src/main/res/drawable/ic_error.xml","printer-redesign/src/main/res/drawable/ic_print_type.xml","printer-redesign/src/main/res/drawable/ic_recover.xml","printer-redesign/src/main/res/drawable/ic_warning.xml","printer-redesign/src/main/res/layout/activity_health_check.xml","printer-redesign/src/main/res/layout/activity_log_viewer.xml","printer-redesign/src/main/res/layout/activity_queue_detail.xml","printer-redesign/src/main/res/layout/item_health_component.xml","printer-redesign/src/main/res/layout/item_print_log.xml","printer-redesign/src/main/res/layout/item_queue_job.xml","printer-redesign/src/main/res/menu/menu_log_viewer.xml","printer-redesign/src/main/res/menu/menu_queue_detail.xml"],"removed":[],"modified":["ARCHITECTURE_COMPARISON.md","CLAUDE.md","printer-redesign/ARCHITECTURE.md","printer-redesign/application/engine/TemplateManager.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/build.gradle","printer-redesign/domain/template/BarcodeElement.java","printer-redesign/domain/template/BaseElement.java","printer-redesign/domain/template/ContextData.java","printer-redesign/domain/template/LineElement.java","printer-redesign/domain/template/PrintElement.java","printer-redesign/domain/template/TableElement.java","printer-redesign/domain/template/TextElement.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/layout/activity_main.xml","printer-redesign/src/main/res/values/colors.xml"]}],"total_commits":0,"head_commit":{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},"repository":{"id":13,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"printer-server","full_name":"luoanwu/printer-server","description":"KTV打印服务器 - DDD架构重构","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server/languages","html_url":"https://gitea.g-hi.com/luoanwu/printer-server","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/printer-server.git","clone_url":"https://gitea.g-hi.com/luoanwu/printer-server.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-28T11:06:40+08:00","updated_at":"2026-02-28T11:06:54+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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
|
4
|
1778468442
|
1778468473
|
0
|
1778468440
|
1778468473
|
|
|
0
|
Edit
Delete
|
|
23519
|
chore(repo): normalize source file endings
|
76
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
5cb2f1cc2f9953d47fa0bcfac541400d01603f78
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d0abf16e0287850cbb497074a866f1b35074dbb1","after":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/d0abf16e0287850cbb497074a866f1b35074dbb1...5cb2f1cc2f9953d47fa0bcfac541400d01603f78","commits":[{"id":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","message":"chore(repo): normalize source file endings\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5cb2f1cc2f9953d47fa0bcfac541400d01603f78","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T21:19:18-07:00","added":[],"removed":[],"modified":["apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/rag/hooks/use-rag.ts","packages/product-runtime/src/index.ts","packages/product-runtime/tsconfig.json","scripts/check-product-acceptance.mjs"]},{"id":"5aa0889ab5cc77e6652747ac38c1add98092a6e6","message":"Harden governance contracts and acceptance flows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5aa0889ab5cc77e6652747ac38c1add98092a6e6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:22:09-07:00","added":["kernel.boundaries.lock.json","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-fastify/src/plugins/llm-runtime.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-nestjs/src/llm-governance/llm-provider-runtime.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/adr/0010-industry-agnostic-kernel-extension-protocol.md","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","kernel.boundaries.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","package.json","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/tool-runtime/package.json","packages/tool-runtime/src/credential-file.test.ts","packages/tool-runtime/src/credential-file.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-boundaries.mjs","scripts/check-kernel-extensions.mjs","scripts/check-operations.mjs","scripts/governance-report.mjs","scripts/llm-live-smoke.mjs"]},{"id":"0198f6e80b1550b0eaaa7f545f9d1f2742abce20","message":"Remove obsolete project artifacts and streamline repository structure\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/0198f6e80b1550b0eaaa7f545f9d1f2742abce20","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T23:01:07-07:00","added":["apps/api-fastify/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","apps/api-nestjs/prisma/migrations/20260918000000_tool_secret_file_auth/migration.sql","reports/ui-acceptance.latest.json"],"removed":["reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-sql-runtime.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"modified":["CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","deploy/production/.env.production.example","deploy/production/compose.yml","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","packages/contracts/src/tool.ts","reports/baseline.json","reports/kernel-extensions.latest.json","reports/operations.latest.json","reports/report-transaction-lock.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","scripts/check-kernel-extensions.mjs","scripts/check-operations.mjs"]},{"id":"9e7255825c080423a730cdeb719795351e0cbfbf","message":"Refine product governance and runtime acceptance flows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/9e7255825c080423a730cdeb719795351e0cbfbf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T22:47:37-07:00","added":["packages/tool-runtime/src/credential-file.test.ts","packages/tool-runtime/src/credential-file.ts","reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/dual-backend-behavior.latest.json","reports/multi-instance.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"removed":["reports/ui-acceptance.latest.json"],"modified":["CLAUDE.md","apps/api-fastify/src/plugins/tool-intent-dispatcher.ts","apps/api-nestjs/src/tools/tool-intent-dispatcher.service.ts","docs/governance-experience.md","packages/contracts/src/product-manifest.ts","packages/contracts/src/tool.test.ts","packages/contracts/src/tool.ts","packages/tool-runtime/src/index.ts","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-kernel-extensions.mjs","scripts/check-runtime-acceptance.mjs"]},{"id":"78828f6a83bac7f990442c063395e317c3af8a4a","message":"Implement governed digital employee platform workflows\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/78828f6a83bac7f990442c063395e317c3af8a4a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T19:39:09-07:00","added":["apps/api-fastify/prisma/migrations/20260910000000_tool_result_governance/migration.sql","apps/api-fastify/prisma/migrations/20260911000000_product_permission_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260912000000_tool_result_redaction/migration.sql","apps/api-fastify/prisma/migrations/20260913000000_tool_credential_auth/migration.sql","apps/api-fastify/prisma/migrations/20260914000000_rag_index_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260915000000_rag_reindex_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260916000000_rag_reindex_batches/migration.sql","apps/api-fastify/prisma/migrations/20260917000000_rag_attachment_connector/migration.sql","apps/api-nestjs/prisma/migrations/20260910000000_tool_result_governance/migration.sql","apps/api-nestjs/prisma/migrations/20260911000000_product_permission_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260912000000_tool_result_redaction/migration.sql","apps/api-nestjs/prisma/migrations/20260913000000_tool_credential_auth/migration.sql","apps/api-nestjs/prisma/migrations/20260914000000_rag_index_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260915000000_rag_reindex_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260916000000_rag_reindex_batches/migration.sql","apps/api-nestjs/prisma/migrations/20260917000000_rag_attachment_connector/migration.sql","kernel.boundaries.json","kernel.downstream.json","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","packages/product-runtime/package.json","packages/product-runtime/src/index.ts","packages/product-runtime/src/product-sql.test.ts","packages/product-runtime/src/product-sql.ts","packages/product-runtime/tsconfig.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-packages.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","scripts/apply-product-migrations.mjs","scripts/check-all.mjs","scripts/check-kernel-boundaries.mjs","scripts/check-kernel-downstream.mjs","scripts/check-kernel-packages.mjs","scripts/check-product-acceptance-runtime.mjs","scripts/check-product-acceptance.mjs","scripts/check-product-extension-runtime.mjs","scripts/check-product-migrations-runtime.mjs","scripts/check-product-migrations.mjs","scripts/check-product-sql-runtime.mjs","scripts/check-report-transaction-lock.mjs","scripts/lib/product-acceptance-catalog.mjs","scripts/lib/product-acceptance-runner.mjs","scripts/lib/product-migration-catalog.mjs","scripts/lib/product-migration-runner.mjs","scripts/lib/report-transaction-lock.mjs","tests/kernel-downstream-fixture/src/index.ts","tests/kernel-downstream-fixture/tsconfig.json","tests/product-acceptance-fixture/kernel.products.json","tests/product-acceptance-fixture/products/fixture.governance/acceptance/fixture.governance.behavior.acceptance.mjs","tests/product-migration-fixture/kernel.products.json","tests/product-migration-fixture/products/fixture.migrations/migrations/fixture.migrations.case/20260823000100_create_cases.sql","tests/product-migration-fixture/products/fixture.migrations/src/case-repository.ts"],"removed":["reports/auth-startup.latest.json","reports/capacity-envelope.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/multi-instance.latest.json","reports/tracing.latest.json","reports/write-capacity.latest.json"],"modified":["CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/rag.service.ts","apps/api-fastify/src/modules/tool-execution.service.ts","apps/api-fastify/src/modules/tools.service.ts","apps/api-fastify/src/modules/triggers.service.ts","apps/api-fastify/src/modules/work/runtimes.service.ts","apps/api-fastify/src/plugins/job-intent-dispatcher.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/tool-intent-dispatcher.ts","apps/api-fastify/src/routes/rag.ts","apps/api-fastify/src/routes/triggers.ts","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-fastify/test/llm.accounting.acceptance.test.ts","apps/api-fastify/test/llm.anthropic.acceptance.test.ts","apps/api-fastify/test/product-extension.acceptance.test.ts","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/scripts/behavior-parity-snapshot.mjs","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/llm-governance/rag.controller.ts","apps/api-nestjs/src/llm-governance/rag.service.ts","apps/api-nestjs/src/queue/job-intent-dispatcher.service.ts","apps/api-nestjs/src/tools/tool-intent-dispatcher.service.ts","apps/api-nestjs/src/tools/tools-execution.service.ts","apps/api-nestjs/src/tools/tools.service.ts","apps/api-nestjs/src/triggers/trigger-engine.service.ts","apps/api-nestjs/src/triggers/triggers.service.ts","apps/api-nestjs/src/work/runtimes.service.ts","apps/api-nestjs/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.accounting.acceptance.test.ts","apps/api-nestjs/test/llm.anthropic.acceptance.test.ts","apps/api-nestjs/test/product-extension.acceptance.test.ts","apps/api-nestjs/vitest.config.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/kernel/KernelWorkspaceShell.tsx","apps/web/src/features/tools/components/ToolGovernancePanel.tsx","deploy/production/.env.production.example","deploy/production/compose.yml","docs/adr/0010-industry-agnostic-kernel-extension-protocol.md","docs/domain/llm-execution-blueprint.md","docs/domain/owner-matrix.md","docs/domain/tool-execution-blueprint.md","docs/domain/trigger-blueprint.md","docs/governance-experience.md","docs/operations/production-runbook.md","docs/product-extension-guide.md","evals/llm/rag-retrieval.v1.json","governance.registry.json","package.json","packages/config/package.json","packages/contracts/package.json","packages/contracts/src/attachment.test.ts","packages/contracts/src/attachment.ts","packages/contracts/src/llm-data.ts","packages/contracts/src/llm-governance.test.ts","packages/contracts/src/llm-governance.ts","packages/contracts/src/llm.test.ts","packages/contracts/src/llm.ts","packages/contracts/src/product-manifest.test.ts","packages/contracts/src/product-manifest.ts","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","packages/contracts/src/rls.test.ts","packages/contracts/src/rls.ts","packages/contracts/src/runtime.ts","packages/contracts/src/tool.test.ts","packages/contracts/src/tool.ts","packages/contracts/src/trigger.test.ts","packages/contracts/src/trigger.ts","packages/observability/package.json","packages/skill-runtime/package.json","packages/tool-runtime/package.json","packages/tool-runtime/src/implementations/enterprise-api-call-v1.ts","packages/tool-runtime/src/implementations/notification-send-v1.ts","packages/tool-runtime/src/implementations/task-cancel-v1.ts","packages/tool-runtime/src/implementations/task-read-v1.ts","packages/tool-runtime/src/implementations/task-transition-v1.ts","packages/tool-runtime/src/implementations/ticket-create-v1.ts","packages/tool-runtime/src/implementations/webhook-post-v1.ts","packages/tool-runtime/src/index.test.ts","packages/tool-runtime/src/index.ts","packages/tool-runtime/src/types.ts","pnpm-lock.yaml","reports/access-audit.latest.json","reports/agent-adapters.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-extensions.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-android.latest.json","reports/mobile-export.latest.json","reports/mobile-ios.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/redis-auth-live.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/trace-backend.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-auth-startup.mjs","scripts/check-capacity-envelope.mjs","scripts/check-db-credential-separation.mjs","scripts/check-dependency-resilience.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-kernel-extensions.mjs","scripts/check-llm-eval.mjs","scripts/check-migrations.mjs","scripts/check-mobile-export.mjs","scripts/check-multi-instance.mjs","scripts/check-operations.mjs","scripts/check-rls.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","tests/kernel-extension-fixture/implementations.ts","tests/kernel-extension-fixture/manifest.ts"]}],"total_commits":0,"head_commit":{"id":"5cb2f1cc2f9953d47fa0bcfac541400d01603f78","message":"chore(repo): normalize source file endings\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/5cb2f1cc2f9953d47fa0bcfac541400d01603f78","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T21:19:18-07:00","added":[],"removed":[],"modified":["apps/web/src/features/rag/api/rag-api.ts","apps/web/src/features/rag/hooks/use-rag.ts","packages/product-runtime/src/index.ts","packages/product-runtime/tsconfig.json","scripts/check-product-acceptance.mjs"]},"repository":{"id":76,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":51207,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-22T23:28:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1787631680
|
1787634834
|
0
|
1787631678
|
1787634834
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23563
|
fix(governance): 收口实时顺序与验收缺口
|
54
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
a9e18b9599335b3ad128ac8c761fc93b83de8711
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4a707c3d3ec98b8ab45864a1b40b941589433914","after":"a9e18b9599335b3ad128ac8c761fc93b83de8711","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/4a707c3d3ec98b8ab45864a1b40b941589433914...a9e18b9599335b3ad128ac8c761fc93b83de8711","commits":[{"id":"a9e18b9599335b3ad128ac8c761fc93b83de8711","message":"fix(governance): 收口实时顺序与验收缺口\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a9e18b9599335b3ad128ac8c761fc93b83de8711","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T22:20:28-07:00","added":["apps/api-fastify/test/realtime.buffer.test.ts","packages/contracts/src/replay-buffer.test.ts","packages/contracts/src/replay-buffer.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.jwt.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-nestjs/prisma/schema.prisma","apps/api-nestjs/src/auth/token-verifier.ts","apps/api-nestjs/src/events/events.gateway.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/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/auth.jwt.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/web/e2e/acceptance.spec.ts","apps/web/src/components/OrdersPanel.tsx","apps/web/src/lib/api.ts","docs/governance-experience.md","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","products/juhai.baseframework/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-os-product-compat.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs"]}],"total_commits":0,"head_commit":{"id":"a9e18b9599335b3ad128ac8c761fc93b83de8711","message":"fix(governance): 收口实时顺序与验收缺口\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/a9e18b9599335b3ad128ac8c761fc93b83de8711","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-08-29T22:20:28-07:00","added":["apps/api-fastify/test/realtime.buffer.test.ts","packages/contracts/src/replay-buffer.test.ts","packages/contracts/src/replay-buffer.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/plugins/auth.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/test/auth.jwt.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-nestjs/prisma/schema.prisma","apps/api-nestjs/src/auth/token-verifier.ts","apps/api-nestjs/src/events/events.gateway.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/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/test/auth.jwt.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/web/e2e/acceptance.spec.ts","apps/web/src/components/OrdersPanel.tsx","apps/web/src/lib/api.ts","docs/governance-experience.md","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","products/juhai.baseframework/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-os-product-compat.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.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":1968,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-08-30T12:43:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1788067980
|
1788068070
|
0
|
1788067980
|
1788068071
|
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
|
|
23642
|
fix: 完成内容恢复与分镜验收修复并归档本机部署证据
|
57
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
aa468b36029aea0cd0c2011527f68c3c09a39332
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5d1fb824260721f7fbd8bed2f58fb239d5f77f13","after":"aa468b36029aea0cd0c2011527f68c3c09a39332","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/5d1fb824260721f7fbd8bed2f58fb239d5f77f13...aa468b36029aea0cd0c2011527f68c3c09a39332","commits":[{"id":"aa468b36029aea0cd0c2011527f68c3c09a39332","message":"fix: 完成内容恢复与分镜验收修复并归档本机部署证据\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/aa468b36029aea0cd0c2011527f68c3c09a39332","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T15:21:08-07:00","added":["reports/admin-mobile.png","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/repair-deploy-2026-09-05/README.md","reports/repair-deploy-2026-09-05/api-fastify-release.log","reports/repair-deploy-2026-09-05/api-nestjs-release.log","reports/repair-deploy-2026-09-05/browser.log","reports/repair-deploy-2026-09-05/candidate-smoke.json","reports/repair-deploy-2026-09-05/cleanup.json","reports/repair-deploy-2026-09-05/cutover.json","reports/repair-deploy-2026-09-05/cutover.log","reports/repair-deploy-2026-09-05/deployed-1440.png","reports/repair-deploy-2026-09-05/deployed-390.png","reports/repair-deploy-2026-09-05/deployed-api-smoke.json","reports/repair-deploy-2026-09-05/deployed-browser.json","reports/repair-deploy-2026-09-05/deployed-services.json","reports/repair-deploy-2026-09-05/hi-atelier-creative-worker-1.log","reports/repair-deploy-2026-09-05/hi-atelier-production-worker-1.log","reports/repair-deploy-2026-09-05/image-source-verification.json","reports/repair-deploy-2026-09-05/image.log","reports/repair-deploy-2026-09-05/inference.log","reports/repair-deploy-2026-09-05/initialization-failure/inference-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/inference.log","reports/repair-deploy-2026-09-05/initialization-failure/production-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/production.log","reports/repair-deploy-2026-09-05/initialization-failure/public-file-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/public-file-acceptance.log","reports/repair-deploy-2026-09-05/initialization-failure/runtime-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/runtime.log","reports/repair-deploy-2026-09-05/initialization-failure/script-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/script.log","reports/repair-deploy-2026-09-05/initialization-failure/ui-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/ui.log","reports/repair-deploy-2026-09-05/model-inventory.json","reports/repair-deploy-2026-09-05/model-inventory.log","reports/repair-deploy-2026-09-05/online-model-readiness.json","reports/repair-deploy-2026-09-05/production.log","reports/repair-deploy-2026-09-05/public-file-acceptance.log","reports/repair-deploy-2026-09-05/quality.log","reports/repair-deploy-2026-09-05/release-summary.json","reports/repair-deploy-2026-09-05/runtime.log","reports/repair-deploy-2026-09-05/script.log","reports/repair-deploy-2026-09-05/sidecar-tests.log","reports/repair-deploy-2026-09-05/source-verification.log","reports/repair-deploy-2026-09-05/static-check.log","reports/repair-deploy-2026-09-05/ui.log","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","scripts/lib/storyboard-ui-fixture.mjs"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/CreativeProjectBar.tsx","deploy/vm/Dockerfile","reports/admin-desktop.png","reports/adversarial-acceptance-audit.latest.md","reports/content-detail.output-desktop.png","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/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},{"id":"4004691c0c44b320cfaae3c9b083067e7d09054c","message":"test: 归档完整验收与对抗探针原始日志\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4004691c0c44b320cfaae3c9b083067e7d09054c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T14:40:42-07:00","added":["reports/adversarial-audit-2026-09-05/api-fastify-green.log","reports/adversarial-audit-2026-09-05/api-fastify-red.log","reports/adversarial-audit-2026-09-05/api-nestjs-green.log","reports/adversarial-audit-2026-09-05/api-nestjs-red.log","reports/adversarial-audit-2026-09-05/inference.log","reports/adversarial-audit-2026-09-05/models.log","reports/adversarial-audit-2026-09-05/post-cleanup-health.log","reports/adversarial-audit-2026-09-05/production.log","reports/adversarial-audit-2026-09-05/public-file-acceptance.log","reports/adversarial-audit-2026-09-05/quality.log","reports/adversarial-audit-2026-09-05/runner-regressions.log","reports/adversarial-audit-2026-09-05/runtime.log","reports/adversarial-audit-2026-09-05/script.log","reports/adversarial-audit-2026-09-05/sidecar-tests.log","reports/adversarial-audit-2026-09-05/source-verification.log","reports/adversarial-audit-2026-09-05/static-before-report-refresh.log","reports/adversarial-audit-2026-09-05/static-final.log","reports/adversarial-audit-2026-09-05/ui.log","reports/full-audit-2026-09-05/build.log","reports/full-audit-2026-09-05/inference.log","reports/full-audit-2026-09-05/models.log","reports/full-audit-2026-09-05/production.log","reports/full-audit-2026-09-05/public-file-acceptance.log","reports/full-audit-2026-09-05/quality-final.log","reports/full-audit-2026-09-05/quality.log","reports/full-audit-2026-09-05/regressions.log","reports/full-audit-2026-09-05/runtime.log","reports/full-audit-2026-09-05/script.log","reports/full-audit-2026-09-05/sidecar-tests.log","reports/full-audit-2026-09-05/startup.log","reports/full-audit-2026-09-05/static-final.log","reports/full-audit-2026-09-05/static.log","reports/full-audit-2026-09-05/ui.log"],"removed":[],"modified":[]},{"id":"013d2f803fce3903b2415f8e6a3ae2edd0ee54ad","message":"feat: 完善 PC/手机内容工作台并加固对抗验收\n\n接入桌面与手机应用壳,完善内容九步菜单、详情页、保存采用与输出体验,并收纳完整设计原型与验收证据。\n\n双后端修复配图复核字段污染、冻结成稿类型漏检和配图幂等来源漏检;六类验收绑定起始源码并检查结束指纹,禁止环境变量替换验收指纹。\n\n验证:双后端专项 39/34 通过,五类后端验收、内容九步响应式 UI 和静态检查通过。整站 UI 旧分镜用例仍失败,模型盘点 5/8 就绪,发布状态保持 OPEN;未部署运行容器。\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/013d2f803fce3903b2415f8e6a3ae2edd0ee54ad","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T14:39:53-07:00","added":["apps/web/src/components/material-factory/ContentStepNav.tsx","apps/web/src/components/material-factory/factory-shell.module.css","apps/web/src/components/material-factory/workspace-home.module.css","docs/design/full-uiux-2026-09-05/01-information-architecture.md","docs/design/full-uiux-2026-09-05/02-interaction-spec.md","docs/design/full-uiux-2026-09-05/03-design-system.md","docs/design/full-uiux-2026-09-05/04-page-blueprints.md","docs/design/full-uiux-2026-09-05/05-visual-concepts.md","docs/design/full-uiux-2026-09-05/06-mobile-app-architecture.md","docs/design/full-uiux-2026-09-05/07-mobile-app-interactions.md","docs/design/full-uiux-2026-09-05/08-mobile-visual-concepts.md","docs/design/full-uiux-2026-09-05/09-real-project-integration.md","docs/design/full-uiux-2026-09-05/10-content-step-details.md","docs/design/full-uiux-2026-09-05/README.md","docs/design/full-uiux-2026-09-05/concepts-manifest.json","docs/design/full-uiux-2026-09-05/concepts/01-workspace-editorial.png","docs/design/full-uiux-2026-09-05/concepts/02-workspace-project.png","docs/design/full-uiux-2026-09-05/concepts/03-workspace-tasks.png","docs/design/full-uiux-2026-09-05/design-validation.json","docs/design/full-uiux-2026-09-05/mobile-concepts-manifest.json","docs/design/full-uiux-2026-09-05/mobile-concepts/01-mobile-workspace.png","docs/design/full-uiux-2026-09-05/mobile-concepts/02-mobile-create.png","docs/design/full-uiux-2026-09-05/mobile-concepts/03-mobile-tasks.png","docs/design/full-uiux-2026-09-05/mobile-prompts.md","output/uiux-prototype-20260905/.gitignore","output/uiux-prototype-20260905/.npmrc","output/uiux-prototype-20260905/.openai/hosting.json","output/uiux-prototype-20260905/AGENTS.md","output/uiux-prototype-20260905/README.md","output/uiux-prototype-20260905/design-qa.md","output/uiux-prototype-20260905/desktop.config.ts","output/uiux-prototype-20260905/desktop.html","output/uiux-prototype-20260905/dist-desktop/assets/android/Keyboard.png","output/uiux-prototype-20260905/dist-desktop/assets/android/Pixel10.png","output/uiux-prototype-20260905/dist-desktop/assets/android/navigation-bar.svg","output/uiux-prototype-20260905/dist-desktop/assets/desktop-BjV2Vpbn.js","output/uiux-prototype-20260905/dist-desktop/assets/desktop-CCqGD-YV.css","output/uiux-prototype-20260905/dist-desktop/assets/iphone/Bezel.png","output/uiux-prototype-20260905/dist-desktop/assets/iphone/Keyboard.png","output/uiux-prototype-20260905/dist-desktop/assets/status/ios-status-icons.svg","output/uiux-prototype-20260905/dist-desktop/assets/status/status-icons.svg","output/uiux-prototype-20260905/dist-desktop/desktop.html","output/uiux-prototype-20260905/dist-desktop/gallery.html","output/uiux-prototype-20260905/dist-desktop/media/autumn.png","output/uiux-prototype-20260905/dist-desktop/media/city.png","output/uiux-prototype-20260905/dist-desktop/media/concert-thumb.png","output/uiux-prototype-20260905/dist-desktop/media/concert.png","output/uiux-prototype-20260905/dist-desktop/media/editorial-thumb.png","output/uiux-prototype-20260905/dist-desktop/media/editorial.png","output/uiux-prototype-20260905/dist-desktop/media/hi-mark.png","output/uiux-prototype-20260905/dist-desktop/media/preview.mp4","output/uiux-prototype-20260905/dist-desktop/screens/desktop-admin.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-brand.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-content.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-create.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-deliveries.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-edit.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-events.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-gallery.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-home.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-inpaint.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-login.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-operations.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-overview.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-reviews.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-script.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-storyboard.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-tasks.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-templates.png","output/uiux-prototype-20260905/dist-desktop/screens/desktop-video.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-admin.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-brand.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-content.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-create.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-deliveries.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-edit.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-events.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-gallery.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-home.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-inpaint.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-login.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-operations.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-overview.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-reviews.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-script.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-storyboard.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-tasks.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-templates.png","output/uiux-prototype-20260905/dist-desktop/screens/mobile-video.png","output/uiux-prototype-20260905/docs/interaction-guide.md","output/uiux-prototype-20260905/index.html","output/uiux-prototype-20260905/mobile-runtime.lock.json","output/uiux-prototype-20260905/package-lock.json","output/uiux-prototype-20260905/package.json","output/uiux-prototype-20260905/page-manifest.json","output/uiux-prototype-20260905/playwright.config.ts","output/uiux-prototype-20260905/public/assets/android/Keyboard.png","output/uiux-prototype-20260905/public/assets/android/Pixel10.png","output/uiux-prototype-20260905/public/assets/android/navigation-bar.svg","output/uiux-prototype-20260905/public/assets/iphone/Bezel.png","output/uiux-prototype-20260905/public/assets/iphone/Keyboard.png","output/uiux-prototype-20260905/public/assets/status/ios-status-icons.svg","output/uiux-prototype-20260905/public/assets/status/status-icons.svg","output/uiux-prototype-20260905/public/gallery.html","output/uiux-prototype-20260905/public/media/autumn.png","output/uiux-prototype-20260905/public/media/city.png","output/uiux-prototype-20260905/public/media/concert-thumb.png","output/uiux-prototype-20260905/public/media/concert.png","output/uiux-prototype-20260905/public/media/editorial-thumb.png","output/uiux-prototype-20260905/public/media/editorial.png","output/uiux-prototype-20260905/public/media/hi-mark.png","output/uiux-prototype-20260905/public/media/preview.mp4","output/uiux-prototype-20260905/public/screens/desktop-admin.png","output/uiux-prototype-20260905/public/screens/desktop-brand.png","output/uiux-prototype-20260905/public/screens/desktop-content.png","output/uiux-prototype-20260905/public/screens/desktop-create.png","output/uiux-prototype-20260905/public/screens/desktop-deliveries.png","output/uiux-prototype-20260905/public/screens/desktop-edit.png","output/uiux-prototype-20260905/public/screens/desktop-events.png","output/uiux-prototype-20260905/public/screens/desktop-gallery.png","output/uiux-prototype-20260905/public/screens/desktop-home.png","output/uiux-prototype-20260905/public/screens/desktop-inpaint.png","output/uiux-prototype-20260905/public/screens/desktop-login.png","output/uiux-prototype-20260905/public/screens/desktop-operations.png","output/uiux-prototype-20260905/public/screens/desktop-overview.png","output/uiux-prototype-20260905/public/screens/desktop-reviews.png","output/uiux-prototype-20260905/public/screens/desktop-script.png","output/uiux-prototype-20260905/public/screens/desktop-storyboard.png","output/uiux-prototype-20260905/public/screens/desktop-tasks.png","output/uiux-prototype-20260905/public/screens/desktop-templates.png","output/uiux-prototype-20260905/public/screens/desktop-video.png","output/uiux-prototype-20260905/public/screens/mobile-admin.png","output/uiux-prototype-20260905/public/screens/mobile-brand.png","output/uiux-prototype-20260905/public/screens/mobile-content.png","output/uiux-prototype-20260905/public/screens/mobile-create.png","output/uiux-prototype-20260905/public/screens/mobile-deliveries.png","output/uiux-prototype-20260905/public/screens/mobile-edit.png","output/uiux-prototype-20260905/public/screens/mobile-events.png","output/uiux-prototype-20260905/public/screens/mobile-gallery.png","output/uiux-prototype-20260905/public/screens/mobile-home.png","output/uiux-prototype-20260905/public/screens/mobile-inpaint.png","output/uiux-prototype-20260905/public/screens/mobile-login.png","output/uiux-prototype-20260905/public/screens/mobile-operations.png","output/uiux-prototype-20260905/public/screens/mobile-overview.png","output/uiux-prototype-20260905/public/screens/mobile-reviews.png","output/uiux-prototype-20260905/public/screens/mobile-script.png","output/uiux-prototype-20260905/public/screens/mobile-storyboard.png","output/uiux-prototype-20260905/public/screens/mobile-tasks.png","output/uiux-prototype-20260905/public/screens/mobile-templates.png","output/uiux-prototype-20260905/public/screens/mobile-video.png","output/uiux-prototype-20260905/qa/compare.py","output/uiux-prototype-20260905/qa/comparison-desktop-detail.png","output/uiux-prototype-20260905/qa/comparison-desktop.png","output/uiux-prototype-20260905/qa/comparison-mobile.png","output/uiux-prototype-20260905/qa/desktop-audit.json","output/uiux-prototype-20260905/qa/desktop-home.png","output/uiux-prototype-20260905/qa/desktop-overview.png","output/uiux-prototype-20260905/qa/desktop/admin.png","output/uiux-prototype-20260905/qa/desktop/brand.png","output/uiux-prototype-20260905/qa/desktop/content.png","output/uiux-prototype-20260905/qa/desktop/create.png","output/uiux-prototype-20260905/qa/desktop/deliveries.png","output/uiux-prototype-20260905/qa/desktop/edit.png","output/uiux-prototype-20260905/qa/desktop/events.png","output/uiux-prototype-20260905/qa/desktop/gallery.png","output/uiux-prototype-20260905/qa/desktop/home.png","output/uiux-prototype-20260905/qa/desktop/inpaint.png","output/uiux-prototype-20260905/qa/desktop/login.png","output/uiux-prototype-20260905/qa/desktop/operations.png","output/uiux-prototype-20260905/qa/desktop/reviews.png","output/uiux-prototype-20260905/qa/desktop/script.png","output/uiux-prototype-20260905/qa/desktop/storyboard.png","output/uiux-prototype-20260905/qa/desktop/tasks.png","output/uiux-prototype-20260905/qa/desktop/templates.png","output/uiux-prototype-20260905/qa/desktop/video.png","output/uiux-prototype-20260905/qa/focused.py","output/uiux-prototype-20260905/qa/make-gallery.py","output/uiux-prototype-20260905/qa/mobile-audit.json","output/uiux-prototype-20260905/qa/mobile-full.png","output/uiux-prototype-20260905/qa/mobile-home.png","output/uiux-prototype-20260905/qa/mobile-keyboard-fixed.png","output/uiux-prototype-20260905/qa/mobile-keyboard.png","output/uiux-prototype-20260905/qa/mobile-overview.png","output/uiux-prototype-20260905/qa/mobile/admin-full.png","output/uiux-prototype-20260905/qa/mobile/admin.png","output/uiux-prototype-20260905/qa/mobile/brand-full.png","output/uiux-prototype-20260905/qa/mobile/brand.png","output/uiux-prototype-20260905/qa/mobile/content-full.png","output/uiux-prototype-20260905/qa/mobile/content.png","output/uiux-prototype-20260905/qa/mobile/create-full.png","output/uiux-prototype-20260905/qa/mobile/create.png","output/uiux-prototype-20260905/qa/mobile/deliveries-full.png","output/uiux-prototype-20260905/qa/mobile/deliveries.png","output/uiux-prototype-20260905/qa/mobile/edit-full.png","output/uiux-prototype-20260905/qa/mobile/edit.png","output/uiux-prototype-20260905/qa/mobile/events-full.png","output/uiux-prototype-20260905/qa/mobile/events.png","output/uiux-prototype-20260905/qa/mobile/gallery-full.png","output/uiux-prototype-20260905/qa/mobile/gallery.png","output/uiux-prototype-20260905/qa/mobile/home-full.png","output/uiux-prototype-20260905/qa/mobile/home.png","output/uiux-prototype-20260905/qa/mobile/inpaint-full.png","output/uiux-prototype-20260905/qa/mobile/inpaint.png","output/uiux-prototype-20260905/qa/mobile/login-full.png","output/uiux-prototype-20260905/qa/mobile/login.png","output/uiux-prototype-20260905/qa/mobile/operations-full.png","output/uiux-prototype-20260905/qa/mobile/operations.png","output/uiux-prototype-20260905/qa/mobile/reviews-full.png","output/uiux-prototype-20260905/qa/mobile/reviews.png","output/uiux-prototype-20260905/qa/mobile/script-full.png","output/uiux-prototype-20260905/qa/mobile/script.png","output/uiux-prototype-20260905/qa/mobile/storyboard-full.png","output/uiux-prototype-20260905/qa/mobile/storyboard.png","output/uiux-prototype-20260905/qa/mobile/tasks-full.png","output/uiux-prototype-20260905/qa/mobile/tasks.png","output/uiux-prototype-20260905/qa/mobile/templates-full.png","output/uiux-prototype-20260905/qa/mobile/templates.png","output/uiux-prototype-20260905/qa/mobile/video-full.png","output/uiux-prototype-20260905/qa/mobile/video.png","output/uiux-prototype-20260905/qa/pixel-home.png","output/uiux-prototype-20260905/qa/pixel-keyboard.png","output/uiux-prototype-20260905/qa/video-playing.png","output/uiux-prototype-20260905/scripts/check-mobile-runtime.mjs","output/uiux-prototype-20260905/scripts/merge-build.mjs","output/uiux-prototype-20260905/scripts/prepare-sites-build.mjs","output/uiux-prototype-20260905/scripts/update-mobile-runtime-lock.mjs","output/uiux-prototype-20260905/src/App.tsx","output/uiux-prototype-20260905/src/Desktop.tsx","output/uiux-prototype-20260905/src/Prototype.tsx","output/uiux-prototype-20260905/src/desktop-main.tsx","output/uiux-prototype-20260905/src/main.tsx","output/uiux-prototype-20260905/src/mobile/BottomSheet.tsx","output/uiux-prototype-20260905/src/mobile/COMPONENTS.md","output/uiux-prototype-20260905/src/mobile/Carousel.tsx","output/uiux-prototype-20260905/src/mobile/Device.tsx","output/uiux-prototype-20260905/src/mobile/FlowStack.tsx","output/uiux-prototype-20260905/src/mobile/Keyboard.tsx","output/uiux-prototype-20260905/src/mobile/MobileCursor.tsx","output/uiux-prototype-20260905/src/mobile/MobileRuntime.tsx","output/uiux-prototype-20260905/src/mobile/MobileScroll.tsx","output/uiux-prototype-20260905/src/mobile/PhoneFrame.tsx","output/uiux-prototype-20260905/src/mobile/assets.ts","output/uiux-prototype-20260905/src/mobile/components.tsx","output/uiux-prototype-20260905/src/mobile/geometry.ts","output/uiux-prototype-20260905/src/mobile/index.ts","output/uiux-prototype-20260905/src/prototype.css","output/uiux-prototype-20260905/src/studio/CreationScreens.tsx","output/uiux-prototype-20260905/src/studio/Home.tsx","output/uiux-prototype-20260905/src/studio/ManagementScreens.tsx","output/uiux-prototype-20260905/src/studio/creation.css","output/uiux-prototype-20260905/src/studio/management.css","output/uiux-prototype-20260905/src/studio/shared.tsx","output/uiux-prototype-20260905/src/styles.css","output/uiux-prototype-20260905/src/vite-env.d.ts","output/uiux-prototype-20260905/tests/mobile-runtime.spec.ts","output/uiux-prototype-20260905/tests/runtime-fixture.css","output/uiux-prototype-20260905/tests/runtime-fixture.html","output/uiux-prototype-20260905/tests/runtime-fixture.tsx","output/uiux-prototype-20260905/tests/sites-worker.test.mjs","output/uiux-prototype-20260905/tsconfig.json","output/uiux-prototype-20260905/vite.config.ts","output/uiux-prototype-20260905/worker/index.js","reports/admin-desktop.png","reports/adversarial-audit-2026-09-05/README.md","reports/adversarial-audit-2026-09-05/cleanup.json","reports/adversarial-audit-2026-09-05/content-detail.brief-desktop.png","reports/adversarial-audit-2026-09-05/content-detail.images-desktop.png","reports/adversarial-audit-2026-09-05/content-detail.output-desktop.png","reports/adversarial-audit-2026-09-05/content-detail.output-mobile.png","reports/adversarial-audit-2026-09-05/content-detail.plans-desktop.png","reports/adversarial-audit-2026-09-05/content-detail.review-desktop.png","reports/adversarial-audit-2026-09-05/deployed-boundary-probes.json","reports/adversarial-audit-2026-09-05/fingerprint-red.json","reports/adversarial-audit-2026-09-05/inference-acceptance.latest.json","reports/adversarial-audit-2026-09-05/material-models.latest.json","reports/adversarial-audit-2026-09-05/production-acceptance.latest.json","reports/adversarial-audit-2026-09-05/public-file-acceptance.latest.json","reports/adversarial-audit-2026-09-05/run-scope.json","reports/adversarial-audit-2026-09-05/runtime-acceptance.latest.json","reports/adversarial-audit-2026-09-05/script-acceptance.latest.json","reports/adversarial-audit-2026-09-05/summary.json","reports/adversarial-audit-2026-09-05/ui-acceptance.latest.json","reports/content-detail.brief-desktop.png","reports/content-detail.failure.png","reports/content-detail.failure.txt","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/content-preview-connection-recovery-2026-09-05.md","reports/full-audit-2026-09-05/README.md","reports/full-audit-2026-09-05/admin-desktop.png","reports/full-audit-2026-09-05/cleanup.json","reports/full-audit-2026-09-05/content-detail.brief-desktop.png","reports/full-audit-2026-09-05/content-detail.images-desktop.png","reports/full-audit-2026-09-05/content-detail.output-desktop.png","reports/full-audit-2026-09-05/content-detail.output-mobile.png","reports/full-audit-2026-09-05/content-detail.plans-desktop.png","reports/full-audit-2026-09-05/content-detail.review-desktop.png","reports/full-audit-2026-09-05/deployed-project-read.json","reports/full-audit-2026-09-05/historical-adversarial.md","reports/full-audit-2026-09-05/inference-acceptance.latest.json","reports/full-audit-2026-09-05/model-api-key-saved.png","reports/full-audit-2026-09-05/model-credential-error.desktop.png","reports/full-audit-2026-09-05/model-credential-error.mobile.png","reports/full-audit-2026-09-05/production-acceptance.latest.json","reports/full-audit-2026-09-05/public-file-acceptance.latest.json","reports/full-audit-2026-09-05/runtime-acceptance.latest.json","reports/full-audit-2026-09-05/scope.md","reports/full-audit-2026-09-05/script-acceptance.latest.json","reports/full-audit-2026-09-05/startup.json","reports/full-audit-2026-09-05/summary.json","reports/full-audit-2026-09-05/ui-acceptance.latest.json","reports/full-audit-2026-09-05/ux-edit.desktop.png","reports/full-audit-2026-09-05/ux-home.desktop.png","reports/model-api-key-saved.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","scripts/lib/content-ui-acceptance.mjs","scripts/lib/source-verification.test.mjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/content.service.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/test/content-workbench.integration.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/src/creative-project/content.service.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/test/content-workbench.integration.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/.env.example","apps/web/next.config.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/components/admin/admin.module.css","apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/CreativeProjectBar.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/PipelineFlow.tsx","apps/web/src/components/material-factory/WorkspaceHome.tsx","apps/web/src/components/material-factory/content-studio.module.css","apps/web/src/lib/providers.tsx","apps/web/tsconfig.json","reports/adversarial-acceptance-audit.latest.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-models.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-production-acceptance.mjs","scripts/check-public-file-acceptance.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-script-acceptance.mjs","scripts/check-startup-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/source-fingerprint.mjs"]}],"total_commits":0,"head_commit":{"id":"aa468b36029aea0cd0c2011527f68c3c09a39332","message":"fix: 完成内容恢复与分镜验收修复并归档本机部署证据\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/aa468b36029aea0cd0c2011527f68c3c09a39332","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-05T15:21:08-07:00","added":["reports/admin-mobile.png","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/repair-deploy-2026-09-05/README.md","reports/repair-deploy-2026-09-05/api-fastify-release.log","reports/repair-deploy-2026-09-05/api-nestjs-release.log","reports/repair-deploy-2026-09-05/browser.log","reports/repair-deploy-2026-09-05/candidate-smoke.json","reports/repair-deploy-2026-09-05/cleanup.json","reports/repair-deploy-2026-09-05/cutover.json","reports/repair-deploy-2026-09-05/cutover.log","reports/repair-deploy-2026-09-05/deployed-1440.png","reports/repair-deploy-2026-09-05/deployed-390.png","reports/repair-deploy-2026-09-05/deployed-api-smoke.json","reports/repair-deploy-2026-09-05/deployed-browser.json","reports/repair-deploy-2026-09-05/deployed-services.json","reports/repair-deploy-2026-09-05/hi-atelier-creative-worker-1.log","reports/repair-deploy-2026-09-05/hi-atelier-production-worker-1.log","reports/repair-deploy-2026-09-05/image-source-verification.json","reports/repair-deploy-2026-09-05/image.log","reports/repair-deploy-2026-09-05/inference.log","reports/repair-deploy-2026-09-05/initialization-failure/inference-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/inference.log","reports/repair-deploy-2026-09-05/initialization-failure/production-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/production.log","reports/repair-deploy-2026-09-05/initialization-failure/public-file-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/public-file-acceptance.log","reports/repair-deploy-2026-09-05/initialization-failure/runtime-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/runtime.log","reports/repair-deploy-2026-09-05/initialization-failure/script-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/script.log","reports/repair-deploy-2026-09-05/initialization-failure/ui-acceptance.latest.json","reports/repair-deploy-2026-09-05/initialization-failure/ui.log","reports/repair-deploy-2026-09-05/model-inventory.json","reports/repair-deploy-2026-09-05/model-inventory.log","reports/repair-deploy-2026-09-05/online-model-readiness.json","reports/repair-deploy-2026-09-05/production.log","reports/repair-deploy-2026-09-05/public-file-acceptance.log","reports/repair-deploy-2026-09-05/quality.log","reports/repair-deploy-2026-09-05/release-summary.json","reports/repair-deploy-2026-09-05/runtime.log","reports/repair-deploy-2026-09-05/script.log","reports/repair-deploy-2026-09-05/sidecar-tests.log","reports/repair-deploy-2026-09-05/source-verification.log","reports/repair-deploy-2026-09-05/static-check.log","reports/repair-deploy-2026-09-05/ui.log","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","scripts/lib/storyboard-ui-fixture.mjs"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/CreativeProjectBar.tsx","deploy/vm/Dockerfile","reports/admin-desktop.png","reports/adversarial-acceptance-audit.latest.md","reports/content-detail.output-desktop.png","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/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/storyboard-director-guard.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.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":157768,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-05T22:35:31+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1788647140
|
1788647175
|
0
|
1788647138
|
1788647175
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23884
|
Merge pull request #2 from laoluojuhai/codex/gover Merge pull request #2 from laoluojuhai/codex/governance-port-ci...
|
116
|
5
|
platform.yml
|
14
|
5
|
0
|
refs/heads/main
|
0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5aca81c94597d4cb18cc65fa5b0855d4333aaf6","after":"0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/e5aca81c94597d4cb18cc65fa5b0855d4333aaf6...0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","commits":[{"id":"0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","message":"Merge pull request #2 from laoluojuhai/codex/governance-port-ci\n\nfeat(governance): require independent port conformance evidence","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T02:23:09-07:00","added":["docs/G-7治理门禁收口-2026-09-12.md","docs/owner-matrix.md","docs/runbook.md","governance/check-port-conformance.mjs","governance/lib/port-conformance.mjs","governance/test/port-conformance.test.mjs","reports/governance-g7.2026-09-12.json","reports/port-conformance.latest.json","stack/provision/nats-streams.sh"],"removed":[],"modified":[".github/workflows/platform.yml","CLAUDE.md","README.md","docs/MS-1发布与接入操作说明.md","governance/README.md","governance/bin/cli.mjs","governance/package.json","governance/test/verify-candidate.test.mjs","governance/verify-candidate.mjs","package.json","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","runtime/CLAUDE.md","runtime/reports/agent-adapters.latest.json","runtime/reports/baseline.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/ui-acceptance.latest.json","runtime/reports/validation-source.latest.json","stack/README.md","stack/compose.yaml"]},{"id":"756b29f122bf27e38b53b5625efa9802fd36c34d","message":"docs(governance): record seven-job CI and eligible eleven-report candidate\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/756b29f122bf27e38b53b5625efa9802fd36c34d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:14:29-07:00","added":[],"removed":[],"modified":["docs/G-7治理门禁收口-2026-09-12.md","reports/governance-g7.2026-09-12.json"]},{"id":"2c74f72be2b7e34cac1b3a80b7e6a41e58718f2c","message":"chore(reports): record clean G-7 governance and port acceptance\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/2c74f72be2b7e34cac1b3a80b7e6a41e58718f2c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:02:35-07:00","added":["reports/governance-g7.2026-09-12.json","reports/port-conformance.latest.json"],"removed":[],"modified":["docs/G-7治理门禁收口-2026-09-12.md","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","runtime/reports/agent-adapters.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/validation-source.latest.json"]},{"id":"3d04ef0550ffe068c8c8c768e90eea14ccba2aee","message":"feat(governance): require independent port conformance evidence for candidates\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/3d04ef0550ffe068c8c8c768e90eea14ccba2aee","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T02:00:38-07:00","added":["docs/G-7治理门禁收口-2026-09-12.md","governance/check-port-conformance.mjs","governance/lib/port-conformance.mjs","governance/test/port-conformance.test.mjs"],"removed":[],"modified":[".github/workflows/platform.yml","CLAUDE.md","README.md","docs/MS-1发布与接入操作说明.md","governance/README.md","governance/bin/cli.mjs","governance/package.json","governance/test/verify-candidate.test.mjs","governance/verify-candidate.mjs","package.json"]},{"id":"8d2356b0cd3519f796b1876cea20bf59ed915d35","message":"docs(platform): 当前状态 runtime 行改引混沌批次证据(runtime 381 / UI 5 @ 0999ec8;静态 @ a0359bf,报告 fb41598)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/8d2356b0cd3519f796b1876cea20bf59ed915d35","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-12T01:31:54-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","message":"Merge pull request #2 from laoluojuhai/codex/governance-port-ci\n\nfeat(governance): require independent port conformance evidence","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0b13f1834fd75f1f6cdec1b89ddc6e639dea5f4e","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-09-12T02:23:09-07:00","added":["docs/G-7治理门禁收口-2026-09-12.md","docs/owner-matrix.md","docs/runbook.md","governance/check-port-conformance.mjs","governance/lib/port-conformance.mjs","governance/test/port-conformance.test.mjs","reports/governance-g7.2026-09-12.json","reports/port-conformance.latest.json","stack/provision/nats-streams.sh"],"removed":[],"modified":[".github/workflows/platform.yml","CLAUDE.md","README.md","docs/MS-1发布与接入操作说明.md","governance/README.md","governance/bin/cli.mjs","governance/package.json","governance/test/verify-candidate.test.mjs","governance/verify-candidate.mjs","package.json","reports/caddy.latest.json","reports/catalog-drift.latest.json","reports/catalog-reconciliation.latest.json","reports/facts.latest.json","reports/fixtures.latest.json","reports/migration-decs.latest.json","reports/module-imports.latest.json","reports/release-manifest.latest.json","runtime/CLAUDE.md","runtime/reports/agent-adapters.latest.json","runtime/reports/baseline.json","runtime/reports/conformance-differential.latest.json","runtime/reports/conformance-matrix.latest.json","runtime/reports/contract-consumers.latest.json","runtime/reports/docs-truth.latest.json","runtime/reports/dual-backend-parity.latest.json","runtime/reports/fork-readiness.latest.json","runtime/reports/governance-docs.latest.json","runtime/reports/governance-rules.latest.json","runtime/reports/governance-status.latest.json","runtime/reports/governance.latest.json","runtime/reports/migrations.latest.json","runtime/reports/naming.latest.json","runtime/reports/runtime-acceptance.latest.json","runtime/reports/runtime-governance.latest.json","runtime/reports/schema-sync.latest.json","runtime/reports/statemachine-write-guard.latest.json","runtime/reports/ui-acceptance.latest.json","runtime/reports/validation-source.latest.json","stack/README.md","stack/compose.yaml"]},"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":3254,"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":3,"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-12T17:15:23+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
26
|
1789205041
|
1789205074
|
0
|
1789205040
|
1789205096
|
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
|
|
23984
|
docs: platform-onboarding 里 DEC-003 的过期措辞——已于 2026 docs: platform-onboarding 里 DEC-003 的过期措辞——已于 2026-09-12 批准,不再写作待裁决...
|
51
|
5
|
ci.yml
|
14
|
5
|
0
|
refs/heads/main
|
0f790bee5ab0fb5277c79c3667cf513fabd074b5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fe40791d1aec2f0e2a6fa6826d26b210add5f8bd","after":"0f790bee5ab0fb5277c79c3667cf513fabd074b5","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/fe40791d1aec2f0e2a6fa6826d26b210add5f8bd...0f790bee5ab0fb5277c79c3667cf513fabd074b5","commits":[{"id":"0f790bee5ab0fb5277c79c3667cf513fabd074b5","message":"docs: platform-onboarding 里 DEC-003 的过期措辞——已于 2026-09-12 批准,不再写作待裁决\n\n治理层一致性门禁 L10(2026-09-16 起认「DEC-0xx 待裁决」)抓到;只改这一句。\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/0f790bee5ab0fb5277c79c3667cf513fabd074b5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-16T03:43:00-07:00","added":[],"removed":[],"modified":["docs/platform-onboarding.md"]},{"id":"ddd441aee810965b6657ae11882707cc1d5d7712","message":"docs: 如实标注三处从未入库的引用\n\n工作区一致性门禁 L4 报出本仓三条悬空链接。核查 git 历史:三个目标\n**从未入过库**,不是被删除,因此无法恢复,只能如实标注。\n\n- README.md:深度体检会话的四份分析里,`项目深挖分析与完善建议` 与\n `项目进展分析` 在库,`项目全维度技术体检与完善建议` 与 `尤克特拉商业价值评估`\n 缺失——同一批文档漏提交了两份。两处改为不带链接的文件名并标注「未随仓提交」\n- COLIMA.md:正文让读者「安装 deploy/nginx/yggdrasil.conf」,而 deploy/ 目录\n 整个不存在且 .gitignore 并未排除它。照文档操作会直接卡住,标注「未随仓提交,\n 需自行准备」\n\n只做标注,不臆造内容:这三份文件该由持有它们的人补进来,标注是为了在补进来之前\n不再误导读者。L4 由 8 条降至 5 条(余下 5 条是嗨赞造意 2026-09-05 治理日志里的\n历史记述,引用当时的文档,属当时事实)。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ddd441aee810965b6657ae11882707cc1d5d7712","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-15T00:34:59-07:00","added":[],"removed":[],"modified":["COLIMA.md","README.md"]}],"total_commits":0,"head_commit":{"id":"0f790bee5ab0fb5277c79c3667cf513fabd074b5","message":"docs: platform-onboarding 里 DEC-003 的过期措辞——已于 2026-09-12 批准,不再写作待裁决\n\n治理层一致性门禁 L10(2026-09-16 起认「DEC-0xx 待裁决」)抓到;只改这一句。\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/0f790bee5ab0fb5277c79c3667cf513fabd074b5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-16T03:43:00-07:00","added":[],"removed":[],"modified":["docs/platform-onboarding.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":87666,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-09-15T10:54:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1789555497
|
1789555628
|
0
|
1789555496
|
1789555628
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
24020
|
docs(决策): CHG-018 条件 D 已满足——工作台维护者实名 luoguoguo,阶段 docs(决策): CHG-018 条件 D 已满足——工作台维护者实名 luoguoguo,阶段 ② 前置只余条件 A...
|
117
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
39a93b16cbbddf5405aeda4fbf20804d41b688ac
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1318ce98ce92ecd6875ea21440c7bb6f15c16ec0","after":"39a93b16cbbddf5405aeda4fbf20804d41b688ac","compare_url":"https://gitea.g-hi.com/luoanwu/platform-governance/compare/1318ce98ce92ecd6875ea21440c7bb6f15c16ec0...39a93b16cbbddf5405aeda4fbf20804d41b688ac","commits":[{"id":"39a93b16cbbddf5405aeda4fbf20804d41b688ac","message":"docs(决策): CHG-018 条件 D 已满足——工作台维护者实名 luoguoguo,阶段 ② 前置只余条件 A\n\nCHG-018 材料状态行登记 D 落实(真源仓 CODEOWNERS /runtime/apps/workbench/ 实名行);N-10、开发计划 09-17 段与 §8、设计方案 §22.1 / §23 同步。余下前置:对外交付设计 §6 两项「缺失」管理接口实现并验收。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/39a93b16cbbddf5405aeda4fbf20804d41b688ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:41:35-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.md"]}],"total_commits":0,"head_commit":{"id":"39a93b16cbbddf5405aeda4fbf20804d41b688ac","message":"docs(决策): CHG-018 条件 D 已满足——工作台维护者实名 luoguoguo,阶段 ② 前置只余条件 A\n\nCHG-018 材料状态行登记 D 落实(真源仓 CODEOWNERS /runtime/apps/workbench/ 实名行);N-10、开发计划 09-17 段与 §8、设计方案 §22.1 / §23 同步。余下前置:对外交付设计 §6 两项「缺失」管理接口实现并验收。\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/platform-governance/commit/39a93b16cbbddf5405aeda4fbf20804d41b688ac","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-17T07:41:35-07:00","added":[],"removed":[],"modified":["平台治理/doc/decisions/CHG-018-材料/README.md","平台治理/doc/decisions/待裁决架构事项.md","平台治理/基础设施文档/docs/基础设施开发设计方案.md","平台治理/基础设施文档/开发计划.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":7409,"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-17T22:37:23+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
4
|
1789656197
|
1789656211
|
0
|
1789656098
|
1789656211
|
|
|
0
|
Edit
Delete
|
|
24313
|
fix(governance): preserve least-privilege product fix(governance): preserve least-privilege product ACLs...
|
83
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3c9f6df78f540226554cb4ecc6115741fe478c41","after":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/compare/3c9f6df78f540226554cb4ecc6115741fe478c41...a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","commits":[{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},{"id":"6f4f4e321ecefcfb5a7401136f0294caae21da91","message":"fix(compose): 开发基座补顶层 name,停止与另外六个仓共用 project `api-nestjs`\n\n本文件没有顶层 name,compose 便按**所在目录名**推导 project 名。它在每个仓里的路径都是\napps/api-nestjs/,于是 7 个仓推导出同一个 `api-nestjs`,共用 `api-nestjs_pgdata` /\n`_redisdata` 与同名容器——后 up 的那个直接接管先起者的容器与卷。这类冲突单仓内部永远\n判不出来,只有横着比多份 compose 才看得见,已经咬过一次(C-15)。\n\n现改为 `name: ${COMPOSE_PROJECT_NAME:-juhai-ai-hr-system}`,默认取本仓 package.json 的 name,\n仍可用 COMPOSE_PROJECT_NAME 覆盖。实测 `docker compose config` 解析出的卷已变为\n`juhai-ai-hr-system_*`。\n\n数据风险已先核过再改:本机 260 个卷里**没有任何 `api-nestjs_*`**,\n`docker ps -a --filter label=com.docker.compose.project=api-nestjs` 零命中——\n这份 compose 在本机从未以默认推导名起过,没有旧卷需要迁移。(只证明本机;\n别的机器若直接 up 过,改名后首次 up 会建新空卷,旧卷需自行迁移。)\n\n工作区门禁 `平台治理/基础/scripts/check-workspace-consistency.mjs` 的\nL9 COMPOSE_PROJECT_COLLISION 在 7 个仓全部补齐后由 ISSUES 转 CLEAN(exit 0,0 issues)。\n处置依据:裁决 N-11 选项 ①。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/6f4f4e321ecefcfb5a7401136f0294caae21da91","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-18T19:13:31-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/docker-compose.yml"]}],"total_commits":0,"head_commit":{"id":"a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","message":"fix(governance): preserve least-privilege product ACLs\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system/commit/a164f1a4f6d06e3b4d0eff01d536575ebfdd0e97","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-20T21:06:22-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/domain/os-product-layer-blueprint.md","docs/governance-experience.md","scripts/check-os-product-layer.mjs"]},"repository":{"id":83,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-hr-system","full_name":"luoanwu/juhai-ai-hr-system","description":"巨嗨 AI 人事系统:受治理全栈基础框架","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":5174,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-hr-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-hr-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-hr-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:35:18+08:00","updated_at":"2026-09-15T15:55:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1789964503
|
1789964594
|
0
|
1789963588
|
1789964596
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
24659
|
Record remote release anchor verification
|
121
|
5
|
kernel-ci.yml
|
14
|
5
|
0
|
refs/heads/main
|
236c67c85b0ed28961bd3807befc1c00d6573f6b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5f607eb22a5ef160fdc74423910299d135063168","after":"236c67c85b0ed28961bd3807befc1c00d6573f6b","compare_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/compare/5f607eb22a5ef160fdc74423910299d135063168...236c67c85b0ed28961bd3807befc1c00d6573f6b","commits":[{"id":"236c67c85b0ed28961bd3807befc1c00d6573f6b","message":"Record remote release anchor verification\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/236c67c85b0ed28961bd3807befc1c00d6573f6b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:58:52-07:00","added":[],"removed":[],"modified":["ops/deployments/2026-09-29-release-anchor-backfill-local.md"]}],"total_commits":0,"head_commit":{"id":"236c67c85b0ed28961bd3807befc1c00d6573f6b","message":"Record remote release anchor verification\n","url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model/commit/236c67c85b0ed28961bd3807befc1c00d6573f6b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-29T10:58:52-07:00","added":[],"removed":[],"modified":["ops/deployments/2026-09-29-release-anchor-backfill-local.md"]},"repository":{"id":121,"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":"seven-domain-five-dimension-unified-model","full_name":"luoanwu/seven-domain-five-dimension-unified-model","description":"七域五维统一领域模型独立仓:领域内核、31章规范与运行记录","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":34641,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model/languages","html_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/seven-domain-five-dimension-unified-model","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/seven-domain-five-dimension-unified-model.git","clone_url":"https://gitea.g-hi.com/luoanwu/seven-domain-five-dimension-unified-model.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":6,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-29T05:06:56+08:00","updated_at":"2026-09-30T01:58:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1790704736
|
1790704736
|
0
|
1790704735
|
1790704736
|
|
|
0
|
Edit
Delete
|
|
25144
|
docs(handoff): register SalesOrderCreated producer docs(handoff): register SalesOrderCreated producer work order as G27...
|
72
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
7fbd54793a41ee137e05974f71d3e822f78ef7af
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0","after":"7fbd54793a41ee137e05974f71d3e822f78ef7af","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/compare/3b7ca66f6af2d9ecf7465dea5be95b1aa199b5a0...7fbd54793a41ee137e05974f71d3e822f78ef7af","commits":[{"id":"7fbd54793a41ee137e05974f71d3e822f78ef7af","message":"docs(handoff): register SalesOrderCreated producer work order as G27\n\nRecords the incoming request from the enterprise reality kernel\n(seven-domain-five-dimension-unified-model @ fda2821a) for this app to be\nthe authoritative producer of SalesOrderCreated. Documentation only: no\ncode, schema, or contract change.\n\n- docs/handoff/sales-order-created-producer-2026-10-03.md: current write\n point and local outbox (read at 3b7ca66), the five open forks from the\n kernel's decision pack, and the work split into what can start now,\n what waits for the fact contract, and what belongs to the platform\n- CLAUDE.md: open item G27 pointing at the handoff; D1 site orders stay\n under G26\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/7fbd54793a41ee137e05974f71d3e822f78ef7af","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-03T04:30:56-07:00","added":["docs/handoff/sales-order-created-producer-2026-10-03.md"],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"7fbd54793a41ee137e05974f71d3e822f78ef7af","message":"docs(handoff): register SalesOrderCreated producer work order as G27\n\nRecords the incoming request from the enterprise reality kernel\n(seven-domain-five-dimension-unified-model @ fda2821a) for this app to be\nthe authoritative producer of SalesOrderCreated. Documentation only: no\ncode, schema, or contract change.\n\n- docs/handoff/sales-order-created-producer-2026-10-03.md: current write\n point and local outbox (read at 3b7ca66), the five open forks from the\n kernel's decision pack, and the work split into what can start now,\n what waits for the fact contract, and what belongs to the platform\n- CLAUDE.md: open item G27 pointing at the handoff; D1 site orders stay\n under G26\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system/commit/7fbd54793a41ee137e05974f71d3e822f78ef7af","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-03T04:30:56-07:00","added":["docs/handoff/sales-order-created-producer-2026-10-03.md"],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":72,"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-quotation-system","full_name":"luoanwu/juhai-quotation-system","description":"巨嗨报价系统:Next.js + NestJS/Fastify 双后端治理型报价业务底座","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":35973,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-quotation-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-quotation-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-quotation-system.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":11,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-31T03:51:09+08:00","updated_at":"2026-09-23T22:57:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1791110262
|
1791110304
|
0
|
1791027398
|
1791110306
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
25675
|
Use node-version instead of version (#28)
|
137
|
5
|
workflow.yml
|
14
|
5
|
0
|
refs/tags/v1.1.1
|
dd2e8a486fdc1071872c594d5388fd6dce1a7534
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.1.1","bef {"ref":"refs/tags/v1.1.1","before":"0000000000000000000000000000000000000000","after":"dd2e8a486fdc1071872c594d5388fd6dce1a7534","compare_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/compare/0000000000000000000000000000000000000000...dd2e8a486fdc1071872c594d5388fd6dce1a7534","commits":[],"total_commits":0,"head_commit":{"id":"dd2e8a486fdc1071872c594d5388fd6dce1a7534","message":"Use node-version instead of version (#28)\n\n* Use node-version instead of version\r\n\r\n* Add deprecation date\r\n","url":"https://gitea.g-hi.com/luoanwu/actions-setup-node/commit/dd2e8a486fdc1071872c594d5388fd6dce1a7534","author":{"name":"Danny McCormick","email":"damccorm@microsoft.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2019-08-13T16:32:09-04:00","added":[],"removed":[],"modified":["README.md","action.yml","lib/setup-node.js","src/setup-node.ts"]},"repository":{"id":137,"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":"actions-setup-node","full_name":"luoanwu/actions-setup-node","description":"Mirror of github.com/actions/setup-node for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-setup-node","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-setup-node.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-setup-node.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-10-13T06:36:42+08:00","updated_at":"2026-10-13T06:38: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
|
3
|
5
|
1791847277
|
1791950481
|
0
|
1791844723
|
1791950481
|
|
|
0
|
Edit
Delete
|
|
25704
|
Bump @actions/artifact to 0.3.5 (#52)
|
139
|
5
|
test.yml
|
14
|
5
|
0
|
refs/tags/v2.0.4
|
b3cedea9bed36890c824f4065163b667eeca272b
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v2.0.4","bef {"ref":"refs/tags/v2.0.4","before":"0000000000000000000000000000000000000000","after":"b3cedea9bed36890c824f4065163b667eeca272b","compare_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/compare/0000000000000000000000000000000000000000...b3cedea9bed36890c824f4065163b667eeca272b","commits":[],"total_commits":0,"head_commit":{"id":"b3cedea9bed36890c824f4065163b667eeca272b","message":"Bump @actions/artifact to 0.3.5 (#52)\n\n","url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact/commit/b3cedea9bed36890c824f4065163b667eeca272b","author":{"name":"Konrad Pabjan","email":"konradpabjan@github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2020-08-04T17:55:46+02:00","added":[],"removed":[],"modified":["dist/index.js","package-lock.json","package.json"]},"repository":{"id":139,"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":"actions-download-artifact","full_name":"luoanwu/actions-download-artifact","description":"Mirror of github.com/actions/download-artifact for Gitea Actions (MIT)","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"TypeScript","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact/languages","html_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/actions-download-artifact","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/actions-download-artifact.git","clone_url":"https://gitea.g-hi.com/luoanwu/actions-download-artifact.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-10-13T06:37:23+08:00","updated_at":"2026-10-13T06:38:59+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
1791854484
|
1791950481
|
0
|
1791844741
|
1791950481
|
|
|
0
|
Edit
Delete
|
|
26170
|
docs(governance): bind verified consumer and immut docs(governance): bind verified consumer and immutable host acceptance...
|
81
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
1e81de7235f94c7fbebf0387212b2bb69b8f03ce
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"377aecc6a8dd6724c301330118103b63c62a313a","after":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/377aecc6a8dd6724c301330118103b63c62a313a...1e81de7235f94c7fbebf0387212b2bb69b8f03ce","commits":[{"id":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","message":"docs(governance): bind verified consumer and immutable host acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1e81de7235f94c7fbebf0387212b2bb69b8f03ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:27:07-07:00","added":["reports/governance-kit-migration.latest.json","reports/governance-kit.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"cea01654c4d7cb89b59f79b1c1a9070f10205181","message":"fix(acceptance): align pinned worker artifact and preserve UI failure diagnostics\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/cea01654c4d7cb89b59f79b1c1a9070f10205181","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:17:32-07:00","added":[],"removed":[],"modified":["docs/enterprise/acceptance.md","docs/governance-kit-027-migration.md","packages/enterprise-integration/governance/enterprise-integration.json","scripts/check-ui-acceptance.mjs"]},{"id":"8d43c62f3d8cdc8b9eb3bf1c93c66c82aa0f3ac7","message":"test(host): support verified immutable source checkouts without re-pinning contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/8d43c62f3d8cdc8b9eb3bf1c93c66c82aa0f3ac7","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:05:54-07:00","added":["packages/enterprise-integration/test/enterprise-host/source-roots.mjs","scripts/lib/enterprise-host-roots.test.mjs"],"removed":[],"modified":["docs/enterprise/README.md","docs/governance-kit-027-migration.md","package.json","packages/enterprise-integration/test/enterprise-host/execution-return.host.test.mjs","packages/enterprise-integration/test/enterprise-host/platform-access.host.test.mjs"]},{"id":"2dcbd0abeda6fd4ec031118a2464b35320fc2575","message":"fix(acceptance): build runtime workspace dependencies in clean checkouts\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/2dcbd0abeda6fd4ec031118a2464b35320fc2575","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T00:57:02-07:00","added":[],"removed":[],"modified":["README.md","docs/governance-kit-027-migration.md","scripts/check-runtime-acceptance.mjs"]},{"id":"c88eb718afaa34a639da5d0074ed723aa23eeb75","message":"fix(build): build local contracts before mobile static export\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/c88eb718afaa34a639da5d0074ed723aa23eeb75","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T00:53:16-07:00","added":[],"removed":[],"modified":["README.md","docs/governance-kit-027-migration.md","scripts/build-mobile-web.mjs"]}],"total_commits":0,"head_commit":{"id":"1e81de7235f94c7fbebf0387212b2bb69b8f03ce","message":"docs(governance): bind verified consumer and immutable host acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/1e81de7235f94c7fbebf0387212b2bb69b8f03ce","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-20T01:27:07-07:00","added":["reports/governance-kit-migration.latest.json","reports/governance-kit.latest.json"],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/auth-source.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/enterprise-integration.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/mobile-delivery.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":81,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3498,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":3,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T08:47:15+08:00","updated_at":"2026-10-20T14:21:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792485184
|
1792485193
|
0
|
1792485184
|
1792485194
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26278
|
merge(infra): retain main confluence and adopt obs merge(infra): retain main confluence and adopt observed gateway memory budget...
|
133
|
5
|
infra.yml
|
14
|
5
|
0
|
refs/heads/main
|
7c6c9109c4900270ca9c733f50ae64d4c8ca677e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a536d894a7b1f8f10c0293ed952dd04b6572c63d","after":"7c6c9109c4900270ca9c733f50ae64d4c8ca677e","compare_url":"https://gitea.g-hi.com/luoanwu/infra/compare/a536d894a7b1f8f10c0293ed952dd04b6572c63d...7c6c9109c4900270ca9c733f50ae64d4c8ca677e","commits":[{"id":"7c6c9109c4900270ca9c733f50ae64d4c8ca677e","message":"merge(infra): retain main confluence and adopt observed gateway memory budget\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/7c6c9109c4900270ca9c733f50ae64d4c8ca677e","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-21T15:26:34-07:00","added":[],"removed":[],"modified":["README.md","compose.yaml","overlays/dev.yaml"]},{"id":"a3107a28af16e100e6a346d18e7c8554e474c584","message":"fix(infra): replay adopted scanner supervision and size model gateway limit\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/a3107a28af16e100e6a346d18e7c8554e474c584","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-21T15:24:55-07:00","added":["clamav/README.md","clamav/entrypoint.sh","clamav/test-entrypoint.sh"],"removed":[],"modified":["README.md","compose.yaml","overlays/dev.yaml"]},{"id":"a9c15917ad72ac73f5ae75b793312b3a3287ad1b","message":"fix(compose): default alertmanager host port to 59094\n\nMirror the control-plane overlay change; infra check 9/9 and compose\nparity 4/4 SAME against the control-plane branch (report refreshed).\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/a9c15917ad72ac73f5ae75b793312b3a3287ad1b","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-21T00:48:24-07:00","added":[],"removed":[],"modified":["README.md","overlays/dev.yaml","reports/compose-parity.2026-10-21.txt"]},{"id":"35a6c98c97a1b74a25589d9156b55de0b1c35753","message":"fix(compose): add restart policy and memory limit to ai-gateway\n\nMirror the control-plane stack change: restart: unless-stopped and\ndeploy.resources.limits.memory (PLATFORM_AI_GATEWAY_MEMORY_LIMIT, default\n1g initial ceiling). npm run check 9/9; compose parity with the\ncontrol-plane branch 4/4 SAME (report attached). Live container unchanged.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/35a6c98c97a1b74a25589d9156b55de0b1c35753","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-21T00:45:17-07:00","added":["reports/compose-parity.2026-10-21.txt"],"removed":[],"modified":["README.md","compose.yaml"]}],"total_commits":0,"head_commit":{"id":"7c6c9109c4900270ca9c733f50ae64d4c8ca677e","message":"merge(infra): retain main confluence and adopt observed gateway memory budget\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/7c6c9109c4900270ca9c733f50ae64d4c8ca677e","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-21T15:26:34-07:00","added":[],"removed":[],"modified":["README.md","compose.yaml","overlays/dev.yaml"]},"repository":{"id":133,"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":"infra","full_name":"luoanwu/infra","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1173,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra/languages","html_url":"https://gitea.g-hi.com/luoanwu/infra","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/infra.git","clone_url":"https://gitea.g-hi.com/luoanwu/infra.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-10-11T21:11:15+08:00","updated_at":"2026-10-22T06:17:55+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1792621721
|
1792621841
|
0
|
1792621719
|
1792621841
|
|
|
0
|
Edit
Delete
|
|
26449
|
chore(evidence): complete thing cloud independent chore(evidence): complete thing cloud independent delivery gates...
|
135
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
d8f267d25541e22c7791067bde6d3c93b5525cec
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6b4743d345460a8e8b1dff7e2c6ed259357ce62b","after":"d8f267d25541e22c7791067bde6d3c93b5525cec","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/compare/6b4743d345460a8e8b1dff7e2c6ed259357ce62b...d8f267d25541e22c7791067bde6d3c93b5525cec","commits":[{"id":"d8f267d25541e22c7791067bde6d3c93b5525cec","message":"chore(evidence): complete thing cloud independent delivery gates\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/d8f267d25541e22c7791067bde6d3c93b5525cec","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-25T01:16:41-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/d3-delivery.latest.json","reports/device-boundaries.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/evidence-current.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.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":"032867305620bcb00be7395baf05008901306921","message":"chore(evidence): record final thing cloud runtime and browser source\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/032867305620bcb00be7395baf05008901306921","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-25T01:15:11-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/d3-delivery.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"4cd9a909714e0c6f30246f086ea72863b44f7387","message":"docs(d3): align current thing cloud version and single-host governance claims\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/4cd9a909714e0c6f30246f086ea72863b44f7387","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-25T01:12:52-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/d3-delivery.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"5362349f55d23e78769b2dedd4e21796c7fd6c26","message":"chore(evidence): bind thing cloud deploy and recovery verification before runtime handoff\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/5362349f55d23e78769b2dedd4e21796c7fd6c26","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-25T01:10:05-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/d3-convergence.latest.json","reports/d3-delivery.latest.json","reports/deployment-acceptance.latest.json","reports/production-acceptance.latest.json"]},{"id":"fde7c790b6740a999e3459b7bc7a3cbf808ca638","message":"docs(d3): freeze thing cloud independent delivery scope and service boundary\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/fde7c790b6740a999e3459b7bc7a3cbf808ca638","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-25T01:06:08-07:00","added":["reports/d3-delivery.latest.json"],"removed":[],"modified":["CLAUDE.md","docs/nestjs-convergence.md"]}],"total_commits":0,"head_commit":{"id":"d8f267d25541e22c7791067bde6d3c93b5525cec","message":"chore(evidence): complete thing cloud independent delivery gates\n","url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud/commit/d8f267d25541e22c7791067bde6d3c93b5525cec","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-25T01:16:41-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/ci-evidence.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/d3-delivery.latest.json","reports/device-boundaries.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/evidence-current.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.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"]},"repository":{"id":135,"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-thing-cloud","full_name":"luoanwu/juhai-thing-cloud","description":"物云:02「物」域应用,自设备云 juhai-device-cloud 4652ce0 分叉","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3414,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-thing-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-thing-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-thing-cloud.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-10-12T21:14:44+08:00","updated_at":"2026-10-24T11:31:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
10
|
1792916218
|
1792916233
|
0
|
1792916217
|
1792916244
|
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
|
|
26602
|
test: record U2 + C50/C51 integration acceptance o test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)...
|
82
|
5
|
governance.yml
|
14
|
5
|
0
|
refs/heads/main
|
42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"74600c013eaaba8a404534b49f5d731134e37be9","after":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/74600c013eaaba8a404534b49f5d731134e37be9...42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","commits":[{"id":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","message":"test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)\n\nGates run on the clean merge commit 1c1491f (provenance gitSha=1c1491f,\nworktreeDirty=false): pnpm check, check:runtime with isolated\npgvector/Redis/MinIO/ClamAV and real C16 (04 6ae2a13 isolated clone,\nlifecycle audit retract/moderate re-registered as\nplatform.collaboration-messaging in the isolated audit DB),\nC16_BROWSER_ACCEPTANCE=1 check:ui (12 demo incl. the C16 case + 2 Keycloak\nOIDC) and required check:governance (ownTests 41, ownTestCases 298).\nOnly reports/*.latest.json change in this commit; deployment and\nproduction acceptance reports stay as recorded on 756ce30.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:26:37-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"1c1491f3ab81d42345edb0f574e5a2a2c299bd28","message":"merge: U2 ticket object-relation authorization (codex/work-order-u2-object-scope-20261027 @1438d92) into main 74600c0\n\nCandidate 1438d92 (verifier round-3 PASS) merged --no-ff onto main\n74600c0 (C50/C51 loopback defaults plus its deployment/production\nevidence). No source conflicts; the three reports/*.latest.json conflicts\n(backend-behavior-parity, runtime-acceptance, ui-acceptance) were resolved\nmechanically by taking the candidate side and are regenerated on this\nmerge commit by the gates.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/1c1491f3ab81d42345edb0f574e5a2a2c299bd28","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:22:19-07:00","added":["apps/api-nestjs/src/tickets/ticket-object-scope.ts","apps/api-nestjs/test/ticket-object-scope.acceptance.test.ts","docs/U2对象关系授权实施记录-2026-10-27.md"],"removed":[],"modified":["CLAUDE.md","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-discussion/discussion-membership-sync.service.ts","apps/api-nestjs/src/ticket-discussion/ticket-discussion.service.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/test/ticket-discussion.platform-real.test.ts","docs/domain/owner-matrix.md","docs/domain/ticket-discussion-blueprint.md","docs/domain/ticket-system-blueprint.md","governance.registry.json","governance/d3-test-scope.json","packages/collaboration-conversation/src/fake-ledger.ts","reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json","scripts/lib/governance-baseline.test.mjs"]},{"id":"1438d928e45f4d04376b227651933cef6a09706c","message":"test: record U2 round-3 acceptance on 6f561e2 (runtime 288/floor 282, UI 14)\n\nReport-only commit: every changed path is reports/*.latest.json; source,\ndocs, registry and ratchet are byte-identical to 6f561e296 (clean).\nOn 6f561e2: pnpm check exit 0; check:runtime exit 0, 288 passed\n(packages 164, NestJS 124 incl. 6 real C16 against an isolated platform\nat 04 6ae2a13; 1 notification opt-in skipped), floor 282;\ncheck:ui exit 0, 14 passed (12 demo incl. real C16 + 2 Keycloak OIDC),\nfloor 13; check:governance required exit 0, no regressions or blocking\nviolations, ownTests 41 / ownTestCases 298. Supersedes c92abd6 reports.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/1438d928e45f4d04376b227651933cef6a09706c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:34:03-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"6f561e296b9b9d7a4382f0985f5bcc84f6046931","message":"test(governance): pin current floors 41/298/282/13 in the baseline self-test (V11)\n\nThe previous self-test only required live floors to equal the recorded\nratchet, so lowering or deleting the ratchet silently reverted floors.\nIt now pins ownTests 41, ownTestCases 298, testsPassed 282 (mandatory\nscope without 6 opt-in real C16 cases) and uiTestsPassed 13, while still\nproving the D3 minimum on a ratchet-stripped copy. Lowering\ntestsPassed/ownTestCases, deleting the ratchet, and deleting it together\nwith the U2 test all fail check:d3-baseline; below-minimum still fails\nboth check:d3-baseline and governance.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/6f561e296b9b9d7a4382f0985f5bcc84f6046931","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:28:02-07:00","added":[],"removed":[],"modified":["governance/d3-test-scope.json","scripts/lib/governance-baseline.test.mjs"]},{"id":"6af4c883a4b1ac9110d062664ab5eacd3da90afd","message":"fix(projects): close U2 round-2 findings V10 and V12\n\nV10: linking a ticket to a project now also requires the linker's own\noriginal ticket relation to carry comment rights (manager/tenantAdmin,\nassignee, requester, COLLABORATOR); a FOLLOWER-only linker gets 403\nTICKET_LINK_RELATION_FORBIDDEN, no relation stays 404. Link-time\nvalidation semantics (access survives the linker losing theirs) are\nrecorded as pending business confirmation.\nV12: removing another project member is limited to the project owner,\nOWNER/MANAGER members or tenant-wide roles; anyone may leave. Existing\nNestJS suite unchanged (118 passed); both new cases red on c92abd6 src.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/6af4c883a4b1ac9110d062664ab5eacd3da90afd","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:28:02-07:00","added":[],"removed":[],"modified":["apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/test/ticket-object-scope.acceptance.test.ts","docs/U2对象关系授权实施记录-2026-10-27.md","docs/domain/owner-matrix.md","docs/domain/ticket-discussion-blueprint.md"]}],"total_commits":0,"head_commit":{"id":"42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","message":"test: record U2 + C50/C51 integration acceptance on merge 1c1491f (runtime 288/floor 282, UI 14/floor 13)\n\nGates run on the clean merge commit 1c1491f (provenance gitSha=1c1491f,\nworktreeDirty=false): pnpm check, check:runtime with isolated\npgvector/Redis/MinIO/ClamAV and real C16 (04 6ae2a13 isolated clone,\nlifecycle audit retract/moderate re-registered as\nplatform.collaboration-messaging in the isolated audit DB),\nC16_BROWSER_ACCEPTANCE=1 check:ui (12 demo incl. the C16 case + 2 Keycloak\nOIDC) and required check:governance (ownTests 41, ownTestCases 298).\nOnly reports/*.latest.json change in this commit; deployment and\nproduction acceptance reports stay as recorded on 756ce30.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/42c886ed5e5d0a6a4d5bd1d7f6b3a99a9fc1316e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T19:26:37-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},"repository":{"id":82,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3826,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-10-28T10:11:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
6
|
1793155058
|
1793155065
|
0
|
1793154554
|
1793155065
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
26916
|
docs(eios): 明确十九项接入范围与 OM-01 准入差额
|
160
|
5
|
ci.yml
|
14
|
5
|
0
|
refs/heads/main
|
fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c56d74ed8b0eaf2894ef0c944adcf878e03803d0","after":"fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/compare/c56d74ed8b0eaf2894ef0c944adcf878e03803d0...fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","commits":[{"id":"fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","message":"docs(eios): 明确十九项接入范围与 OM-01 准入差额\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","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:48:50-08:00","added":["docs/eios-transformation/admission/om-01/README.md","docs/eios-transformation/admission/om-01/app-manifest.draft.json","docs/eios-transformation/admission/om-01/app-registration.proposed.json","docs/eios-transformation/admission/om-01/permission-resource.proposed.json","docs/eios-transformation/admission/om-01/preflight.json","docs/eios-transformation/本机dev接入-2026-11-01.md","reports/eios-ro-isolated-2026-11-01.json"],"removed":[],"modified":["docs/eios-transformation/README.md","docs/eios-transformation/identity-mapping/ID01-ID02映射.template.json","docs/eios-transformation/identity-mapping/README.md","docs/eios-transformation/identity-mapping/RO-Q01试点范围.template.json","docs/eios-transformation/inventory/README.md","docs/eios-transformation/inventory/app-manifest.draft.json","docs/eios-transformation/inventory/scripts/gen_manifest.py","docs/eios-transformation/改造计划-2026-10-28.md","scripts/eios/check-identity-mapping.mjs","scripts/eios/identity-mapping-rules.mjs"]}],"total_commits":0,"head_commit":{"id":"fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","message":"docs(eios): 明确十九项接入范围与 OM-01 准入差额\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub-eios/commit/fdbbc6a81d6a13324ed848c4b56231faf6c3d3eb","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:48:50-08:00","added":["docs/eios-transformation/admission/om-01/README.md","docs/eios-transformation/admission/om-01/app-manifest.draft.json","docs/eios-transformation/admission/om-01/app-registration.proposed.json","docs/eios-transformation/admission/om-01/permission-resource.proposed.json","docs/eios-transformation/admission/om-01/preflight.json","docs/eios-transformation/本机dev接入-2026-11-01.md","reports/eios-ro-isolated-2026-11-01.json"],"removed":[],"modified":["docs/eios-transformation/README.md","docs/eios-transformation/identity-mapping/ID01-ID02映射.template.json","docs/eios-transformation/identity-mapping/README.md","docs/eios-transformation/identity-mapping/RO-Q01试点范围.template.json","docs/eios-transformation/inventory/README.md","docs/eios-transformation/inventory/app-manifest.draft.json","docs/eios-transformation/inventory/scripts/gen_manifest.py","docs/eios-transformation/改造计划-2026-10-28.md","scripts/eios/check-identity-mapping.mjs","scripts/eios/identity-mapping-rules.mjs"]},"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":2112176,"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-11-02T08:40:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
19
|
1793580557
|
1793582117
|
0
|
1793580541
|
1793582117
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|