| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98eb23e60c1f4b50a87580aac01f3dc23dcc027f","after":"bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98eb23e60c1f4b50a87580aac01f3dc23dcc027f...bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","commits":[{"id":"bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","message":"Merge pull request '治理上线 ②④: 恢复 CI 硬门禁(豁免感知) + 文档对账机制 + Phase2 单测全绿' (#9) from governance/launch-hardening-2026-05-18 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/9\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-05-23T10:41:02+08:00","added":[".claude/skills/juhi/references/tenant-helpers-index.md",".codex/config.toml",".codex/skills/juhi-tenant-isolation/SKILL.md",".codex/skills/juhi-tenant-isolation/agents/openai.yaml",".codex/skills/juhi-tenant-isolation/anti-patterns.md",".codex/skills/juhi-tenant-isolation/checklist.md",".codex/skills/juhi-tenant-isolation/examples.md",".codex/skills/juhi-tenant-isolation/handoff.md",".codex/skills/juhi-tenant-isolation/references/entrypoints.md",".codex/skills/juhi-tenant-isolation/triage-notes.example.md",".github/workflows/governance-mirror.yml","backend/prisma/migrations/20260526000000_harden_rls_nullif_tenant/migration.sql","backend/prisma/migrations/20260526010000_enable_rls_uncovered_tables/migration.sql","backend/prisma/migrations/20260526020000_add_hr_integration_sync_log_timestamps/migration.sql","backend/src/modules/leads/lead-import.service.test.ts","backend/src/modules/projects/services/project-tenant-helpers.ts","backend/src/modules/system-import/index.ts","backend/src/modules/system-import/system-import.controller.ts","backend/src/modules/system-import/system-import.docs.ts","backend/src/modules/system-import/system-import.routes.ts","backend/src/modules/system-import/system-import.schema.ts","backend/src/modules/system-import/system-import.service.test.ts","backend/src/modules/system-import/system-import.service.ts","backend/src/shared/utils/ai-agent-group-member-tenant-helpers.ts","backend/src/shared/utils/ai-agent-skill-binding-tenant-helpers.ts","backend/src/shared/utils/ai-agent-task-tenant-helpers.ts","backend/src/shared/utils/ai-skill-tenant-helpers.ts","backend/src/shared/utils/ai-workflow-tenant-helpers.ts","backend/src/shared/utils/autopilot-recovery-tenant-helpers.ts","backend/src/shared/utils/bank-transaction-tenant-helpers.ts","backend/src/shared/utils/community-tenant-helpers.ts","backend/src/shared/utils/community-user-points-tenant-helpers.ts","backend/src/shared/utils/customer-tenant-helpers.ts","backend/src/shared/utils/gl-tenant-helpers.ts","backend/src/shared/utils/groupbuy-redemption-tenant-helpers.ts","backend/src/shared/utils/im-conversation-tenant-helpers.ts","backend/src/shared/utils/knowledge-atom-tenant-helpers.ts","backend/src/shared/utils/knowledge-candidate-tenant-helpers.ts","backend/src/shared/utils/payment-plan-tenant-helpers.ts","backend/src/shared/utils/phase3-tenant-helpers.ts","backend/src/shared/utils/phase4-tenant-helpers.ts","backend/src/shared/utils/phase5-tenant-helpers.ts","backend/src/shared/utils/phase5b-tenant-helpers.ts","backend/src/shared/utils/phase5c-tenant-helpers.ts","backend/src/shared/utils/service-ticket-tenant-helpers.ts","backend/src/shared/utils/social-ad-tenant-helpers.ts","backend/src/shared/utils/social-tenant-helpers.ts","backend/tests/api/system-import.test.ts","docs/governance/dual-tenant-customer-init-template-2026-05-18.md","docs/governance/dual-tenant-module-enablement-matrix-2026-05-18.csv","docs/governance/dual-tenant-risk-ledger-2026-05-18.md","docs/governance/pre-commit-staging-anomaly-2026-05-20.md","docs/operations/dual-customer-rollout-runbook-2026-05-18.md","docs/operations/dual-customer-rollout/customer-production-signoff-register-2026-05-18.csv","docs/operations/dual-customer-rollout/customer-production-signoff-template-2026-05-18.md","docs/operations/dual-customer-rollout/dev-launch-data-summary-2026-05-18.md","docs/operations/dual-customer-rollout/dev-module-enable-unlocked-2026-05-18.csv","docs/operations/dual-customer-rollout/dev-signoff-register-2026-05-18.md","docs/operations/dual-customer-rollout/internal-uat-release-candidate-approval-2026-05-18.md","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-001__company_tenant_basic_info.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-002__org_department_hierarchy.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-003__position_job_titles.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-004__user_account_list.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-005__role_permission_matrix.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-006__approval_hierarchy.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-007__customer_security_data_contacts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-001__customers_segments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-002__contacts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-003__channel_partners_agents.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-004__products_skus_prices.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-005__suppliers_service_providers.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-006__sales_org_regions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-007__customer_tags_segments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-001__leads.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-002__opportunities.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-003__quotes.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-004__contracts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-005__orders.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-006__payment_plans.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-007__service_tickets.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-008__renewals.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-001__chart_of_accounts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-002__accounting_periods.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-003__invoices.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-004__ar_ledger.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-005__payments_bank_flows.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-006__reconciliations.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-007__commission_records.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-008__settlements.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-001__stores_master_data.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-002__groupbuy_campaigns_platforms.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-003__groupbuy_orders.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-004__redemptions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-005__community_members.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-006__alliance_coupons_usages.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-007__store_groupbuy_alliance_settlements.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-001__marketing_campaigns.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-002__ad_spend.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-003__landing_pages_forms.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-004__utm_touchpoints.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-005__content_library_social_accounts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-006__livestream_video_sms_email_templates.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-001__knowledge_sop_documents.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-002__workflow_definitions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-003__approval_templates.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-004__ai_context_allowlist.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-005__hr_training_materials.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-006__workflow_role_assignments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-001__contract_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-002__invoice_payment_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-003__product_store_images.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-004__knowledge_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-005__marketing_assets.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-001__source_file_register.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-002__field_mapping_workbook.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-003__cleaning_rules.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-004__import_run_logs.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-005__rollback_reconciliation_reports.csv","docs/operations/dual-customer-rollout/p0-charter-2026-05-18.md","docs/operations/dual-customer-rollout/p0-customer-input-readme.md","docs/operations/dual-customer-rollout/p0-customer-input-template.yaml","docs/operations/dual-customer-rollout/p0-data-migration-inventory-2026-05-18.md","docs/operations/dual-customer-rollout/p0-module-enable-matrix-2026-05-18.md","docs/operations/dual-customer-rollout/p0-risk-register-2026-05-18.md","docs/operations/dual-customer-rollout/p1-production-foundation-start-2026-05-18.md","docs/operations/dual-customer-rollout/p2-tob-lead-to-cash-start-2026-05-18.md","docs/operations/dual-customer-rollout/p3-finance-control-tower-start-2026-05-18.md","docs/operations/dual-customer-rollout/p4-store-operations-start-2026-05-18.md","docs/operations/dual-customer-rollout/p5-growth-content-acquisition-start-2026-05-18.md","docs/operations/dual-customer-rollout/p6-ai-knowledge-process-hr-start-2026-05-18.md","docs/operations/dual-customer-rollout/preproduction-uat-signoff-package-2026-05-18.md","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F00_customer_signer_roster.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F01_tenant_bootstrap_request.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F02_role_user_account_roster.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F03_source_file_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F04_field_mapping_workbook.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F05_data_cleaning_rules.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F06_import_validation_checklist.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F07_uat_import_acceptance.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F08_production_import_approval.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F09_rls_tenant_isolation_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F10_backup_restore_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F11_cross_tenant_access_matrix.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F12_business_flow_sample_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F13_attachment_permission_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F14_final_production_signoff_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/README.md","docs/operations/dual-customer-rollout/production-data-material-59-table-ddl-2026-05-18.sql","docs/operations/dual-customer-rollout/production-data-material-59-table-index-2026-05-18.csv","docs/operations/dual-customer-rollout/production-data-material-import-table-2026-05-18.csv","docs/operations/dual-customer-rollout/production-data-material-import-table-ddl-2026-05-18.sql","docs/operations/dual-customer-rollout/production-data-material-list-2026-05-18.md","docs/operations/dual-customer-rollout/production-data-material-tracker-2026-05-18.csv","docs/operations/dual-customer-rollout/production-signoff-todo-checklist-2026-05-18.md","docs/operations/dual-customer-rollout/samples/p0-customer-input.sample-2026-05-22.yaml","docs/reports/view-audit-domains/a1-acquisition-center-2026-05-19.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-05-21.md","docs/reports/view-audit-domains/a2-finance-center-2026-05-19.md","docs/reports/view-audit-domains/a2-finance-center-2026-05-21.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-05-19.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-05-21.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-05-19.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-05-21.md","docs/reports/view-audit-domains/a5-admin-center-2026-05-19.md","docs/reports/view-audit-domains/a5-admin-center-2026-05-21.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-05-19.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-05-21.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-05-19.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-05-21.md","docs/reports/view-audit-domains/a8-system-center-2026-05-19.md","docs/reports/view-audit-domains/a8-system-center-2026-05-21.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-05-19.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-05-21.md","docs/reports/view-audit-full-matrix-2026-05-19.md","docs/reports/view-audit-full-matrix-2026-05-21.md","e2e/tests/auth/channel-state-guard-smoke.spec.ts","e2e/tests/auth/profile-smoke.spec.ts","e2e/tests/auth/system-import-smoke.spec.ts","frontend/src/api/modules/system-import.ts","frontend/src/views/profile/__tests__/profile-g4.smoke.test.ts","frontend/src/views/system-import/Index.vue","frontend/src/views/system-import/__tests__/system-import-g4.smoke.test.ts","reports/baseline-reconcile.latest.json","reports/customer-signoff-status.latest.json","reports/dual-customer-rollout-dev-launch-data-2026-05-18.json","reports/dual-customer-rollout-dev-signoff-2026-05-18.json","reports/dual-customer-rollout-dev-unblock-status-2026-05-18.json","reports/dual-customer-rollout-p0-status-2026-05-18.json","reports/dual-customer-rollout-phase-status-2026-05-18.json","reports/dual-customer-rollout-production-data-forms-2026-05-18.json","reports/dual-customer-rollout-production-data-material-import-table-2026-05-18.json","reports/dual-customer-rollout-production-data-materials-2026-05-18.json","reports/dual-customer-rollout-production-signoff-template-2026-05-18.json","reports/dual-customer-rollout-uat-release-package-2026-05-18.json","reports/dual-customer-rollout-workset-2026-05-18.json","reports/e2e-last-run.latest.json","reports/governance-exemptions.json","reports/harness-orchestration.latest.json","reports/info-decision-sla-registry.json","reports/info-decision-sla.latest.json","reports/money-decimal-purity-audit.latest.json","reports/nested-transaction-audit.latest.json","reports/p0-customer-input-status.latest.json","reports/page-click-interactions-audit.latest.json","reports/prisma-zod-contract-audit.2026-05-20.json","reports/prisma-zod-contract-audit.2026-05-20.md","reports/real-ui-audit.latest.json","reports/tenant-update-where-audit.latest.json","reports/test-assertion-density-audit.latest.json","scripts/audit-info-decision-sla.ts","scripts/audit-money-decimal-purity.ts","scripts/audit-nested-transaction.ts","scripts/audit-p0-customer-input.ts","scripts/audit-page-click-interactions.ts","scripts/audit-tenant-update-where.ts","scripts/audit-test-assertion-density.ts","scripts/generate-dual-customer-rollout-dev-data.mjs","scripts/generate-production-data-collection-forms.mjs","scripts/generate-production-data-material-import-table.mjs","scripts/harness/baseline-reconcile.ts","scripts/harness/customer-signoff-status.ts","scripts/harness/drift.ts","scripts/harness/e2e-last-run-status.ts","scripts/harness/gate-integrity-check.ts","scripts/harness/gate.ts","scripts/harness/governance-gate.ts","scripts/harness/ratchet.ts","scripts/harness/real-ui-audit-status.ts"],"removed":["e2e/.auth/admin.json","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":[".claude/commands/juhi/tenant.md",".claude/skills/juhi/index.md",".claude/skills/juhi/tenant.md",".codex/skills/README.md",".codex/skills/juhi-api-acceptance-runtime/SKILL.md",".codex/skills/juhi-backend-audit-fix/SKILL.md",".codex/skills/juhi-backend-audit-fix/checklist.md",".codex/skills/juhi-backend-audit-fix/examples.md",".codex/skills/juhi-backend-audit-fix/handoff.md",".codex/skills/juhi-backend-audit-fix/references/entrypoints.md",".codex/skills/juhi-development-toolkit/SKILL.md",".codex/skills/juhi-governance-commander/SKILL.md",".codex/skills/juhi-governance-index/SKILL.md",".codex/skills/juhi-governance-index/checklist.example.md",".codex/skills/juhi-governance-index/checklist.md",".codex/skills/juhi-governance-index/references/entrypoints.md",".codex/skills/juhi-governance-index/triage-notes.example.md",".codex/skills/juhi-module-g4-governance/SKILL.md",".codex/skills/juhi-module-g4-governance/references/entrypoints.md",".codex/skills/juhi-playwright-runtime-triage/SKILL.md",".gitea/workflows/ci.yml",".gitignore",".husky/pre-commit",".local-tools/bin/docker","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/learning.prisma","backend/scripts/audit-docs-single-source.ts","backend/scripts/audit-n1-queries.ts","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/audit-tenant-security.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/load-env.ts","backend/src/config/rls-extension.ts","backend/src/main.ts","backend/src/modules/ad-accounts/ad-account.service.test.ts","backend/src/modules/ad-accounts/ad-account.service.ts","backend/src/modules/ad-audiences/ad-audience.service.test.ts","backend/src/modules/ad-biddings/ad-bidding.service.test.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.test.ts","backend/src/modules/ad-creatives/ad-creative.service.test.ts","backend/src/modules/ad-placement/ad-creative.service.test.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/ad-reports/ad-report.service.ts","backend/src/modules/admin-settings/admin-settings.routes.ts","backend/src/modules/agent-sessions/sandbox/credential-proxy.ts","backend/src/modules/aging-analysis/aging-analysis.service.test.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.test.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-assist/skills/compliance-coach-registry.ts","backend/src/modules/ai-assist/skills/leadership-coach-registry.ts","backend/src/modules/ai-assist/skills/marketing-coach-registry.ts","backend/src/modules/ai-assist/skills/onboarding-coach-registry.ts","backend/src/modules/ai-assist/skills/registry.ts","backend/src/modules/ai-assist/skills/sales-coach-registry.ts","backend/src/modules/ai-assist/skills/service-coach-registry.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.test.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-coupons/alliance-coupon.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-packages/alliance-package.service.test.ts","backend/src/modules/alliance-packages/alliance-package.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.ts","backend/src/modules/analytics/analytics.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/assembly/assembly.service.test.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/attribution/attribution-touchpoint.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/biz-sequences/biz-sequence.service.test.ts","backend/src/modules/bom/bom.service.test.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.test.ts","backend/src/modules/campaign-library/campaign-library.service.test.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/certifications/certifications.service.test.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.test.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/chart-of-accounts/chart-of-accounts.service.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-bots/community-bot.service.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-levels/community-level.service.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/community-messages/community-message.service.test.ts","backend/src/modules/community-points/community-point.service.test.ts","backend/src/modules/community-points/community-point.service.ts","backend/src/modules/community-tasks/community-task.service.test.ts","backend/src/modules/community-tasks/community-task.service.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/course-marketplace/course-marketplace.service.test.ts","backend/src/modules/course-marketplace/course-marketplace.service.ts","backend/src/modules/cpq/cpq.service.test.ts","backend/src/modules/cpq/cpq.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/customer-health/customer-health.service.test.ts","backend/src/modules/customer-health/customer-health.service.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/customers/customer-health.service.ts","backend/src/modules/customers/customer-hierarchy.service.ts","backend/src/modules/customers/customer-service.service.ts","backend/src/modules/customers/customer.service.test.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/disbursements/expense-claim.service.test.ts","backend/src/modules/email-marketing/email-campaign.service.ts","backend/src/modules/email-templates/email-template.service.test.ts","backend/src/modules/expense/expense.service.test.ts","backend/src/modules/faults/fault.service.test.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/finance/event-payment-integration.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance-cash-analysis.service.ts","backend/src/modules/finance/finance-commissions.service.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/treasury.service.ts","backend/src/modules/financial-reports/financial-reports.service.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.ts","backend/src/modules/geo-fences/index.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/geo-keywords/index.ts","backend/src/modules/geo-reviews/geo-review.service.test.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-orders/groupbuy-order.service.test.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.test.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.test.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.service.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.service.test.ts","backend/src/modules/hr/attendance/holidays/holiday.service.test.ts","backend/src/modules/hr/attendance/leaves/leave.service.test.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.test.ts","backend/src/modules/hr/attendance/records/record.service.test.ts","backend/src/modules/hr/attendance/schedules/schedule.service.test.ts","backend/src/modules/hr/attendance/shifts/shift.service.test.ts","backend/src/modules/hr/benefits/claims/claim.service.test.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.test.ts","backend/src/modules/hr/training/competency/competency.service.test.ts","backend/src/modules/hr/training/courses/course.service.test.ts","backend/src/modules/hr/training/exams/exam.service.test.ts","backend/src/modules/hr/training/plans/plan.service.test.ts","backend/src/modules/im/channels/wechat/wechat.sync.ts","backend/src/modules/im/im-binding.service.ts","backend/src/modules/im/im-enhanced.service.ts","backend/src/modules/im/im-workflow-sync.service.ts","backend/src/modules/im/workflow-dispatcher.service.ts","backend/src/modules/inventory/services/inventory-count.service.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/modules/journal-entries/journal-entries.service.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/knowledge-capture/knowledge-capture.service.test.ts","backend/src/modules/knowledge-capture/knowledge-capture.service.ts","backend/src/modules/knowledge-capture/knowledge-feedback.service.ts","backend/src/modules/knowledge/knowledge-collaboration.service.ts","backend/src/modules/knowledge/knowledge-import.service.ts","backend/src/modules/knowledge/knowledge-interaction.service.ts","backend/src/modules/knowledge/knowledge-stage.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-import.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/livestream-gifts/livestream-gifts.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/location-assessments/location-assessment.service.test.ts","backend/src/modules/location-assessments/location-assessment.service.ts","backend/src/modules/maintenance/services/maintenance-plans.service.ts","backend/src/modules/maintenance/services/maintenance-tasks.service.ts","backend/src/modules/marketing-automation/workflow-action.service.test.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.service.test.ts","backend/src/modules/marketing-tools/marketing-tools.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/services/attribution.service.ts","backend/src/modules/marketing/services/touchpoint.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/opportunities/opportunity.service.test.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.service.test.ts","backend/src/modules/partner-customers/partner-customer.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/positions/positions.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/process-designer/process-designer.service.test.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/projects/installation-project.service.test.ts","backend/src/modules/projects/installation-project.service.ts","backend/src/modules/projects/project-gantt.service.ts","backend/src/modules/projects/project.service.test.ts","backend/src/modules/projects/project.service.ts","backend/src/modules/projects/services/gantt.service.test.ts","backend/src/modules/projects/services/gantt.service.ts","backend/src/modules/projects/services/milestone.service.ts","backend/src/modules/projects/services/project.service.ts","backend/src/modules/projects/services/task.service.ts","backend/src/modules/projects/services/ticket.service.ts","backend/src/modules/purchase-orders/purchase-order.service.test.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/reconciliation/bank-import.service.ts","backend/src/modules/reconciliation/matching-engine.service.test.ts","backend/src/modules/reconciliation/matching-engine.service.ts","backend/src/modules/redemptions/redemptions.service.test.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/renewal-tasks/renewal-task.service.test.ts","backend/src/modules/renewal-tasks/renewal-task.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/resource-requests/__tests__/resource-request.service.test.ts","backend/src/modules/resource-requests/resource-request.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/event-integration.service.ts","backend/src/modules/revenue/invoice-items.service.ts","backend/src/modules/revenue/revenue-overview.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission-compat.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/satisfaction/satisfaction.service.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.test.ts","backend/src/modules/search/search.service.ts","backend/src/modules/segments/segment.service.test.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service/services/ticket-gantt.service.ts","backend/src/modules/sla/sla.service.test.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-competitors/social-competitor.service.test.ts","backend/src/modules/social-followers/social-follower.service.test.ts","backend/src/modules/social-followers/social-follower.service.ts","backend/src/modules/social-interactions/social-interactions.logic.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/store-settlements/store-settlements.service.test.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/stores/store.service.test.ts","backend/src/modules/succession-plans/succession-plans.service.test.ts","backend/src/modules/succession-plans/succession-plans.service.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/supply-chain/supply-chain.service.test.ts","backend/src/modules/supply-chain/supply-chain.service.ts","backend/src/modules/swot-analyses/swot.service.test.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/system/system.service.test.ts","backend/src/modules/targets/target.service.test.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/treasury/__tests__/payment-request.service.test.ts","backend/src/modules/treasury/daily-settlement.service.ts","backend/src/modules/treasury/payment-request.service.ts","backend/src/modules/treasury/treasury-overview.service.ts","backend/src/modules/users/user.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/constants/statuses.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/state-machines/__tests__/opportunity.machine.test.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/crud.test.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/acquisition-center.test.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","backend/tests/api/alliance-agreements.test.ts","backend/tests/api/alliance-merchants.test.ts","backend/tests/api/analytics-dashboard.test.ts","backend/tests/api/crm-activities.test.ts","backend/tests/api/event-subscriptions.test.ts","backend/tests/api/expense-claims.test.ts","backend/tests/api/finance-credit-cash.test.ts","backend/tests/api/finance-gap-closure.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/hr-services.test.ts","backend/tests/api/knowledge-feedback.test.ts","backend/tests/api/leads-governance.test.ts","backend/tests/api/marketing-services.test.ts","backend/tests/api/product-services.test.ts","backend/tests/api/project-services.test.ts","backend/tests/api/redemptions.test.ts","backend/tests/api/revenue-commissions-compat.test.ts","backend/tests/api/revenue-event-payment-compat.test.ts","backend/tests/api/revenue-invoice-items-compat.test.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","docs/governance/baseline-and-experience.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/operations/production-launch-checklist.md","e2e/helpers/chain-runner.ts","e2e/helpers/create-payloads.ts","e2e/helpers/p0-chain.helper.ts","e2e/package.json","e2e/scripts/lib/view-audit.mjs","e2e/scripts/lib/view-audit.overrides.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/admin-center-procurement-warehouse-smoke.spec.ts","e2e/tests/auth/channel-integrations-smoke.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/navigation/dashboard-click-input-interaction.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/index.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/components/common/StatsCard.vue","frontend/src/composables/useListPage.ts","frontend/src/router/__tests__/system-infra-menu-governance.test.ts","frontend/src/router/menu.ts","frontend/src/router/modules/system.ts","frontend/src/router/not-found-support.ts","frontend/src/styles/index.scss","frontend/src/views/NotFound.vue","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/components/MarketingCalendar.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/admin/Workbench.vue","frontend/src/views/ai-agents/Create.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/Tasks.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-campaigns/Detail.vue","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-partners/Detail.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/analytics/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.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/attribution-models/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaigns/wizard/Step1BusinessLine.vue","frontend/src/views/campaigns/wizard/Step2UseCase.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/channel-analytics/Index.vue","frontend/src/views/channels/Index.vue","frontend/src/views/commissions/Detail.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/community-members/Form.vue","frontend/src/views/content-library/Detail.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/components/TemplatePreview.vue","frontend/src/views/contract-templates/components/VariablePanel.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/customer-analytics/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-profit/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.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/FormServiceConfig.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Form.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/geo-analysis/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-commissions/Index.vue","frontend/src/views/groupbuy-influencers/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/hr/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/im/VideoCallRoom.vue","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-import/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-rooms/Detail.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Calendar.vue","frontend/src/views/maintenance/PlanDetail.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-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/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/metric-tree/Index.vue","frontend/src/views/notification-configs/Form.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/orders/Index.vue","frontend/src/views/orders/components/DetailMobile.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/partners/Index.vue","frontend/src/views/payment-analytics/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Calendar.vue","frontend/src/views/pm/Detail.vue","frontend/src/views/pm/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/process-designer/Designer.vue","frontend/src/views/process-designer/ProcessList.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/products/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/profile/Index.vue","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/Milestones.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/reconciliation/Detail.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.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/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/components/EngineerRankingPanel.vue","frontend/src/views/service-dashboard/components/OverviewCards.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/targets/Breakdown.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/targets/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/utm-tracking/Index.vue","frontend/src/views/video-analytics/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/ai-assist-context-provider-redact.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-flow-audit.latest.json","reports/event-flow-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/fullstack-alignment-audit.latest.json","reports/harness-dashboard.latest.json","reports/list-page-routes-audit.latest.json","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/n1-queries-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/process-definition-consistency.latest.json","reports/process-definition-consistency.latest.md","reports/project-census.baseline.json","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/tenant-security-audit.latest.json","reports/time-analysis-audit.latest.json","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","reports/workflow-completeness.latest.json","reports/workflow-completeness.latest.md","scripts/audit-module-coverage.ts","scripts/audit-type-debt.ts","scripts/governance-commander-brief.ts","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/grade.ts","scripts/harness/report.ts","scripts/harness/types.ts","shared/create-route-catalog.ts"]},{"id":"abd9c78e81e375b307f84a5333bb2006694b6844","message":"style(frontend): scoped 样式硬编码颜色令牌化收口\n\n将全站 .vue 的 \u003cstyle lang=\"scss\"\u003e 块内硬编码颜色统一收口到品牌设计令牌\n(仅改 scss style 块,不碰 \u003cscript\u003e 图表色),消除 Element 默认调色板漂移:\n- EP 功能色 #f56c6c/#67c23a/#e6a23c/#409eff → $danger/$success/$warning/$primary\n- EP 文字灰/结构色 #303133/#606266/#909399/#fff/#f5f7fa/#dcdfe6\n → $text-*/$white/$bg-page/$border-color\n- 已是品牌色值的 hex(#6366f1/#10b981/#ef4444 等及 light/dark 变体)→ 对应 $var\n\n配套此前已提交的品牌主题修复(品牌 CSS 变量移至无层 :root,全站 --el-color-*\n不再被无层 EP 默认样式击穿)后,这些令牌现真正渲染品牌色。\n保留图表/渐变/特定强调自定义色(#8b5cf6/#d4916e/#667eea/#764ba2 等)。\n\n验证:vue-tsc 全绿;多页真实环境运行态 SCSS 编译零错误、无破坏性拼接。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/abd9c78e81e375b307f84a5333bb2006694b6844","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-22T19:17:46-07:00","added":[],"removed":[],"modified":["frontend/src/views/NotFound.vue","frontend/src/views/acquisition/components/MarketingCalendar.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/admin/Workbench.vue","frontend/src/views/ai-agents/Create.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/Tasks.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-campaigns/Detail.vue","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-partners/Detail.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/analytics/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.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/biz-sequences/Form.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaigns/wizard/Step1BusinessLine.vue","frontend/src/views/campaigns/wizard/Step2UseCase.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/channels/Index.vue","frontend/src/views/commissions/Detail.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/community-members/Form.vue","frontend/src/views/content-library/Detail.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/components/TemplatePreview.vue","frontend/src/views/contract-templates/components/VariablePanel.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/customer-analytics/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-profit/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.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/FormServiceConfig.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Form.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/hr/Index.vue","frontend/src/views/im/VideoCallRoom.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/lead-import/Index.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/maintenance/Calendar.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-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/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/metric-tree/Index.vue","frontend/src/views/notification-configs/Form.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/orders/Index.vue","frontend/src/views/orders/components/DetailMobile.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/partners/Index.vue","frontend/src/views/payment-analytics/Index.vue","frontend/src/views/pm/Calendar.vue","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/process-designer/ProcessList.vue","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/Milestones.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/reconciliation/Detail.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/sales-dashboard/Index.vue","frontend/src/views/sales-funnel/Index.vue","frontend/src/views/sample-requests/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/components/EngineerRankingPanel.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/targets/Breakdown.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/targets/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue"]},{"id":"d226ae2b4908b17211365fb57778b5a7f75443ba","message":"chore(governance): 同步前端改动、技能文档与治理审计快照\n\n- frontend/src: 前端视图/组件批量改动\n- .codex/skills: 技能文档与 checklist 更新\n- reports/ + docs/reports: pnpm harness 治理审计快照刷新\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d226ae2b4908b17211365fb57778b5a7f75443ba","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-22T19:06:37-07:00","added":[".codex/skills/juhi-tenant-isolation/SKILL.md",".codex/skills/juhi-tenant-isolation/agents/openai.yaml",".codex/skills/juhi-tenant-isolation/anti-patterns.md",".codex/skills/juhi-tenant-isolation/checklist.md",".codex/skills/juhi-tenant-isolation/examples.md",".codex/skills/juhi-tenant-isolation/handoff.md",".codex/skills/juhi-tenant-isolation/references/entrypoints.md",".codex/skills/juhi-tenant-isolation/triage-notes.example.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-05-21.md","docs/reports/view-audit-domains/a2-finance-center-2026-05-21.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-05-21.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-05-21.md","docs/reports/view-audit-domains/a5-admin-center-2026-05-21.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-05-21.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-05-21.md","docs/reports/view-audit-domains/a8-system-center-2026-05-21.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-05-21.md","docs/reports/view-audit-full-matrix-2026-05-21.md","reports/harness-orchestration.latest.json"],"removed":[],"modified":[".codex/skills/README.md",".codex/skills/juhi-api-acceptance-runtime/SKILL.md",".codex/skills/juhi-backend-audit-fix/SKILL.md",".codex/skills/juhi-backend-audit-fix/checklist.md",".codex/skills/juhi-backend-audit-fix/examples.md",".codex/skills/juhi-backend-audit-fix/handoff.md",".codex/skills/juhi-backend-audit-fix/references/entrypoints.md",".codex/skills/juhi-development-toolkit/SKILL.md",".codex/skills/juhi-governance-commander/SKILL.md",".codex/skills/juhi-governance-index/SKILL.md",".codex/skills/juhi-governance-index/checklist.example.md",".codex/skills/juhi-governance-index/checklist.md",".codex/skills/juhi-governance-index/references/entrypoints.md",".codex/skills/juhi-governance-index/triage-notes.example.md",".codex/skills/juhi-module-g4-governance/SKILL.md",".codex/skills/juhi-module-g4-governance/references/entrypoints.md",".codex/skills/juhi-playwright-runtime-triage/SKILL.md","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/common/StatsCard.vue","frontend/src/styles/index.scss","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Index.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/Overview.vue","frontend/src/views/ai-agents/Tasks.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/assembly/BomList.vue","frontend/src/views/attribution-models/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/contract-templates/Detail.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.vue","frontend/src/views/customers/components/DetailHealthScore.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/dashboard/Index.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/departments/Form.vue","frontend/src/views/departments/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/geo-analysis/Index.vue","frontend/src/views/groupbuy-commissions/Index.vue","frontend/src/views/groupbuy-influencers/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/lead-import/Index.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/livestream-rooms/Detail.vue","frontend/src/views/maintenance/Calendar.vue","frontend/src/views/maintenance/PlanDetail.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-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-timeslots/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/partners/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Calendar.vue","frontend/src/views/pm/Detail.vue","frontend/src/views/pm/Index.vue","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Detail.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/sample-requests/Detail.vue","frontend/src/views/search/Index.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/components/OverviewCards.vue","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/utm-tracking/Index.vue","frontend/src/views/video-analytics/Index.vue","frontend/src/views/video-content/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/baseline-reconcile.latest.json","reports/commander-workset.latest.json","reports/enum-consistency-audit.latest.json","reports/event-flow-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/fullstack-alignment-audit.latest.json","reports/migration-safety-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/process-definition-consistency.latest.json","reports/process-definition-consistency.latest.md","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/tenant-security-audit.latest.json","reports/tenant-update-where-audit.latest.json","reports/time-analysis-audit.latest.json","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","reports/workflow-completeness.latest.json","reports/workflow-completeness.latest.md","scripts/governance-commander-brief.ts"]},{"id":"65d512d417dbc6d64ef9b22f80f2ba559b880f24","message":"fix(backend): 收口 38 处事务内全局 prisma stale-read(动作/更新响应返回变更前数据)\n\n延续 create-404 同根因类的系统性收口。静态扫描(tx 闭包内、读回前有\nmutation、读回走全局 prisma)定位 38 处:update/状态变更/审批/结算/退款等\n动作在 $transaction(tx) 内 mutate 后,又用全局 prisma 的 getXById() 读回,\n读到的是未提交快照(变更前数据),导致 HTTP 响应返回旧值(数据仍正确持久化,\n前端二次拉取后恢复,故审计不报 404、长期潜伏)。\n\n统一修法:读回移到事务提交之后;publishEvent(tx) 与所有写入仍留在事务内,\n不改写集原子性。mutation 前的 guard 读(如 getCommissionById 校验状态)保留。\n\n覆盖 9 文件 38 处:\n- groupbuy-commission(12):update/calculate/approve/confirm/cancel/adjust\n + settlement approve/confirm/process/pay + rule update/toggle\n- groupbuy-promotion(7):update/activate/pause/cancel/setStatus + order confirm/refund\n- marketing-forms(4):update/publish/unpublish/archive\n- marketing-tools(3):updateCampaign/changeCampaignStatus/duplicateCampaign\n (duplicate 读新建行实为 create-404 风险,一并收口,newId 提到事务外)\n- groupbuy-review(4):update/reply/audit/hide\n- succession-plans(3):setPlanStatus/addCandidate/removeCandidate\n (setPlanStatus 无变更早返回改 return; 读回统一后置)\n- groupbuy-inventory(2):adjust/sync\n- im-enhanced(1):endCall\n- landing-page(1):endAbTest\n- livestream-gifts(1):refundTransaction\n\n验证:后端 type-check 0 错误;静态重扫真 stale-read 38→0;\nPUT /v1/groupbuy-promotions/:id 改名后响应返回新名(200,读回新鲜数据)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/65d512d417dbc6d64ef9b22f80f2ba559b880f24","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-22T10:00:19-07:00","added":[],"removed":[],"modified":["backend/src/modules/groupbuy-commissions/groupbuy-commission.service.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.service.ts","backend/src/modules/im/im-enhanced.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.service.ts","backend/src/modules/marketing-forms/marketing-form.service.ts","backend/src/modules/marketing-tools/marketing-tools.service.ts","backend/src/modules/succession-plans/succession-plans.service.ts"]},{"id":"7c0d1dde5b456f419a1f085d04aecbeba5193698","message":"fix(governance): full-review 3 处棘轮 drift 收口(high 2→0 / medium 256→254 / n1 1→0)\n\nbaseline-reconcile 从 44/47(drift=3)回到 47/47。三处分别为:\n\n1. sms-marketing.sendBatchMessages 事务边界硬化:循环内 prisma.sms_messages.create\n (事务外)+ 循环后批次事件可能分裂。重构为写前过滤收集待入库记录,再在单个\n $transaction 内 tx.sms_messages.create 批量写 + publishEvent 绑定同一 tx。\n → outbox classC 1→0 / v2TxBoundWrite 1→0 / 原子化率 100%。\n\n2. 补登记两个已发布未注册事件:SMS_CAMPAIGN_EVENTS.RESUMED='sms_campaign_resumed'、\n SMS_MARKETING_EVENTS.SMS_BATCH_MESSAGES_QUEUED='sms_batch_messages_queued'。\n → event-flow unregistered 2→0 / medium 回落 254。\n\n3. audit-n1-queries recursive-query 校准(非业务改动):递归调用校验 \\bname\\( 会把\n 函数内 tx.\u003cmodel\u003e.create() 误判为递归(函数名与 Prisma 方法名同名假阳性)。加负向\n 后顾 (?\u003c![.\\w]) 要求裸函数调用,排除 .method()。journal-entries.create N+1 假阳性消除。\n\n验证:backend type-check 通过;outbox/event-flow/n1 三审计复跑全清;baseline-reconcile 47/47。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7c0d1dde5b456f419a1f085d04aecbeba5193698","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-22T10:00:05-07:00","added":[],"removed":[],"modified":["backend/scripts/audit-n1-queries.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/shared/constants/events/marketing.ts","reports/event-flow-audit.latest.json","reports/harness-dashboard.latest.json","reports/n1-queries-audit.latest.json","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","message":"Merge pull request '治理上线 ②④: 恢复 CI 硬门禁(豁免感知) + 文档对账机制 + Phase2 单测全绿' (#9) from governance/launch-hardening-2026-05-18 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/9\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd6b20a8cdf6b23a3c68d2a8717c1bcfb60f3870","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-05-23T10:41:02+08:00","added":[".claude/skills/juhi/references/tenant-helpers-index.md",".codex/config.toml",".codex/skills/juhi-tenant-isolation/SKILL.md",".codex/skills/juhi-tenant-isolation/agents/openai.yaml",".codex/skills/juhi-tenant-isolation/anti-patterns.md",".codex/skills/juhi-tenant-isolation/checklist.md",".codex/skills/juhi-tenant-isolation/examples.md",".codex/skills/juhi-tenant-isolation/handoff.md",".codex/skills/juhi-tenant-isolation/references/entrypoints.md",".codex/skills/juhi-tenant-isolation/triage-notes.example.md",".github/workflows/governance-mirror.yml","backend/prisma/migrations/20260526000000_harden_rls_nullif_tenant/migration.sql","backend/prisma/migrations/20260526010000_enable_rls_uncovered_tables/migration.sql","backend/prisma/migrations/20260526020000_add_hr_integration_sync_log_timestamps/migration.sql","backend/src/modules/leads/lead-import.service.test.ts","backend/src/modules/projects/services/project-tenant-helpers.ts","backend/src/modules/system-import/index.ts","backend/src/modules/system-import/system-import.controller.ts","backend/src/modules/system-import/system-import.docs.ts","backend/src/modules/system-import/system-import.routes.ts","backend/src/modules/system-import/system-import.schema.ts","backend/src/modules/system-import/system-import.service.test.ts","backend/src/modules/system-import/system-import.service.ts","backend/src/shared/utils/ai-agent-group-member-tenant-helpers.ts","backend/src/shared/utils/ai-agent-skill-binding-tenant-helpers.ts","backend/src/shared/utils/ai-agent-task-tenant-helpers.ts","backend/src/shared/utils/ai-skill-tenant-helpers.ts","backend/src/shared/utils/ai-workflow-tenant-helpers.ts","backend/src/shared/utils/autopilot-recovery-tenant-helpers.ts","backend/src/shared/utils/bank-transaction-tenant-helpers.ts","backend/src/shared/utils/community-tenant-helpers.ts","backend/src/shared/utils/community-user-points-tenant-helpers.ts","backend/src/shared/utils/customer-tenant-helpers.ts","backend/src/shared/utils/gl-tenant-helpers.ts","backend/src/shared/utils/groupbuy-redemption-tenant-helpers.ts","backend/src/shared/utils/im-conversation-tenant-helpers.ts","backend/src/shared/utils/knowledge-atom-tenant-helpers.ts","backend/src/shared/utils/knowledge-candidate-tenant-helpers.ts","backend/src/shared/utils/payment-plan-tenant-helpers.ts","backend/src/shared/utils/phase3-tenant-helpers.ts","backend/src/shared/utils/phase4-tenant-helpers.ts","backend/src/shared/utils/phase5-tenant-helpers.ts","backend/src/shared/utils/phase5b-tenant-helpers.ts","backend/src/shared/utils/phase5c-tenant-helpers.ts","backend/src/shared/utils/service-ticket-tenant-helpers.ts","backend/src/shared/utils/social-ad-tenant-helpers.ts","backend/src/shared/utils/social-tenant-helpers.ts","backend/tests/api/system-import.test.ts","docs/governance/dual-tenant-customer-init-template-2026-05-18.md","docs/governance/dual-tenant-module-enablement-matrix-2026-05-18.csv","docs/governance/dual-tenant-risk-ledger-2026-05-18.md","docs/governance/pre-commit-staging-anomaly-2026-05-20.md","docs/operations/dual-customer-rollout-runbook-2026-05-18.md","docs/operations/dual-customer-rollout/customer-production-signoff-register-2026-05-18.csv","docs/operations/dual-customer-rollout/customer-production-signoff-template-2026-05-18.md","docs/operations/dual-customer-rollout/dev-launch-data-summary-2026-05-18.md","docs/operations/dual-customer-rollout/dev-module-enable-unlocked-2026-05-18.csv","docs/operations/dual-customer-rollout/dev-signoff-register-2026-05-18.md","docs/operations/dual-customer-rollout/internal-uat-release-candidate-approval-2026-05-18.md","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-001__company_tenant_basic_info.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-002__org_department_hierarchy.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-003__position_job_titles.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-004__user_account_list.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-005__role_permission_matrix.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-006__approval_hierarchy.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D0-007__customer_security_data_contacts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-001__customers_segments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-002__contacts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-003__channel_partners_agents.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-004__products_skus_prices.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-005__suppliers_service_providers.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-006__sales_org_regions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D1-007__customer_tags_segments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-001__leads.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-002__opportunities.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-003__quotes.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-004__contracts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-005__orders.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-006__payment_plans.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-007__service_tickets.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D2-008__renewals.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-001__chart_of_accounts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-002__accounting_periods.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-003__invoices.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-004__ar_ledger.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-005__payments_bank_flows.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-006__reconciliations.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-007__commission_records.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D3-008__settlements.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-001__stores_master_data.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-002__groupbuy_campaigns_platforms.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-003__groupbuy_orders.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-004__redemptions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-005__community_members.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-006__alliance_coupons_usages.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D4-007__store_groupbuy_alliance_settlements.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-001__marketing_campaigns.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-002__ad_spend.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-003__landing_pages_forms.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-004__utm_touchpoints.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-005__content_library_social_accounts.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D5-006__livestream_video_sms_email_templates.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-001__knowledge_sop_documents.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-002__workflow_definitions.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-003__approval_templates.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-004__ai_context_allowlist.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-005__hr_training_materials.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D6-006__workflow_role_assignments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-001__contract_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-002__invoice_payment_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-003__product_store_images.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-004__knowledge_attachments.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D7-005__marketing_assets.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-001__source_file_register.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-002__field_mapping_workbook.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-003__cleaning_rules.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-004__import_run_logs.csv","docs/operations/dual-customer-rollout/material-tables-2026-05-18/D8-005__rollback_reconciliation_reports.csv","docs/operations/dual-customer-rollout/p0-charter-2026-05-18.md","docs/operations/dual-customer-rollout/p0-customer-input-readme.md","docs/operations/dual-customer-rollout/p0-customer-input-template.yaml","docs/operations/dual-customer-rollout/p0-data-migration-inventory-2026-05-18.md","docs/operations/dual-customer-rollout/p0-module-enable-matrix-2026-05-18.md","docs/operations/dual-customer-rollout/p0-risk-register-2026-05-18.md","docs/operations/dual-customer-rollout/p1-production-foundation-start-2026-05-18.md","docs/operations/dual-customer-rollout/p2-tob-lead-to-cash-start-2026-05-18.md","docs/operations/dual-customer-rollout/p3-finance-control-tower-start-2026-05-18.md","docs/operations/dual-customer-rollout/p4-store-operations-start-2026-05-18.md","docs/operations/dual-customer-rollout/p5-growth-content-acquisition-start-2026-05-18.md","docs/operations/dual-customer-rollout/p6-ai-knowledge-process-hr-start-2026-05-18.md","docs/operations/dual-customer-rollout/preproduction-uat-signoff-package-2026-05-18.md","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F00_customer_signer_roster.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F01_tenant_bootstrap_request.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F02_role_user_account_roster.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F03_source_file_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F04_field_mapping_workbook.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F05_data_cleaning_rules.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F06_import_validation_checklist.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F07_uat_import_acceptance.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F08_production_import_approval.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F09_rls_tenant_isolation_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F10_backup_restore_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F11_cross_tenant_access_matrix.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F12_business_flow_sample_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F13_attachment_permission_register.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/F14_final_production_signoff_evidence.csv","docs/operations/dual-customer-rollout/production-data-forms-2026-05-18/README.md","docs/operations/dual-customer-rollout/production-data-material-59-table-ddl-2026-05-18.sql","docs/operations/dual-customer-rollout/production-data-material-59-table-index-2026-05-18.csv","docs/operations/dual-customer-rollout/production-data-material-import-table-2026-05-18.csv","docs/operations/dual-customer-rollout/production-data-material-import-table-ddl-2026-05-18.sql","docs/operations/dual-customer-rollout/production-data-material-list-2026-05-18.md","docs/operations/dual-customer-rollout/production-data-material-tracker-2026-05-18.csv","docs/operations/dual-customer-rollout/production-signoff-todo-checklist-2026-05-18.md","docs/operations/dual-customer-rollout/samples/p0-customer-input.sample-2026-05-22.yaml","docs/reports/view-audit-domains/a1-acquisition-center-2026-05-19.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-05-21.md","docs/reports/view-audit-domains/a2-finance-center-2026-05-19.md","docs/reports/view-audit-domains/a2-finance-center-2026-05-21.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-05-19.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-05-21.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-05-19.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-05-21.md","docs/reports/view-audit-domains/a5-admin-center-2026-05-19.md","docs/reports/view-audit-domains/a5-admin-center-2026-05-21.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-05-19.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-05-21.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-05-19.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-05-21.md","docs/reports/view-audit-domains/a8-system-center-2026-05-19.md","docs/reports/view-audit-domains/a8-system-center-2026-05-21.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-05-19.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-05-21.md","docs/reports/view-audit-full-matrix-2026-05-19.md","docs/reports/view-audit-full-matrix-2026-05-21.md","e2e/tests/auth/channel-state-guard-smoke.spec.ts","e2e/tests/auth/profile-smoke.spec.ts","e2e/tests/auth/system-import-smoke.spec.ts","frontend/src/api/modules/system-import.ts","frontend/src/views/profile/__tests__/profile-g4.smoke.test.ts","frontend/src/views/system-import/Index.vue","frontend/src/views/system-import/__tests__/system-import-g4.smoke.test.ts","reports/baseline-reconcile.latest.json","reports/customer-signoff-status.latest.json","reports/dual-customer-rollout-dev-launch-data-2026-05-18.json","reports/dual-customer-rollout-dev-signoff-2026-05-18.json","reports/dual-customer-rollout-dev-unblock-status-2026-05-18.json","reports/dual-customer-rollout-p0-status-2026-05-18.json","reports/dual-customer-rollout-phase-status-2026-05-18.json","reports/dual-customer-rollout-production-data-forms-2026-05-18.json","reports/dual-customer-rollout-production-data-material-import-table-2026-05-18.json","reports/dual-customer-rollout-production-data-materials-2026-05-18.json","reports/dual-customer-rollout-production-signoff-template-2026-05-18.json","reports/dual-customer-rollout-uat-release-package-2026-05-18.json","reports/dual-customer-rollout-workset-2026-05-18.json","reports/e2e-last-run.latest.json","reports/governance-exemptions.json","reports/harness-orchestration.latest.json","reports/info-decision-sla-registry.json","reports/info-decision-sla.latest.json","reports/money-decimal-purity-audit.latest.json","reports/nested-transaction-audit.latest.json","reports/p0-customer-input-status.latest.json","reports/page-click-interactions-audit.latest.json","reports/prisma-zod-contract-audit.2026-05-20.json","reports/prisma-zod-contract-audit.2026-05-20.md","reports/real-ui-audit.latest.json","reports/tenant-update-where-audit.latest.json","reports/test-assertion-density-audit.latest.json","scripts/audit-info-decision-sla.ts","scripts/audit-money-decimal-purity.ts","scripts/audit-nested-transaction.ts","scripts/audit-p0-customer-input.ts","scripts/audit-page-click-interactions.ts","scripts/audit-tenant-update-where.ts","scripts/audit-test-assertion-density.ts","scripts/generate-dual-customer-rollout-dev-data.mjs","scripts/generate-production-data-collection-forms.mjs","scripts/generate-production-data-material-import-table.mjs","scripts/harness/baseline-reconcile.ts","scripts/harness/customer-signoff-status.ts","scripts/harness/drift.ts","scripts/harness/e2e-last-run-status.ts","scripts/harness/gate-integrity-check.ts","scripts/harness/gate.ts","scripts/harness/governance-gate.ts","scripts/harness/ratchet.ts","scripts/harness/real-ui-audit-status.ts"],"removed":["e2e/.auth/admin.json","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":[".claude/commands/juhi/tenant.md",".claude/skills/juhi/index.md",".claude/skills/juhi/tenant.md",".codex/skills/README.md",".codex/skills/juhi-api-acceptance-runtime/SKILL.md",".codex/skills/juhi-backend-audit-fix/SKILL.md",".codex/skills/juhi-backend-audit-fix/checklist.md",".codex/skills/juhi-backend-audit-fix/examples.md",".codex/skills/juhi-backend-audit-fix/handoff.md",".codex/skills/juhi-backend-audit-fix/references/entrypoints.md",".codex/skills/juhi-development-toolkit/SKILL.md",".codex/skills/juhi-governance-commander/SKILL.md",".codex/skills/juhi-governance-index/SKILL.md",".codex/skills/juhi-governance-index/checklist.example.md",".codex/skills/juhi-governance-index/checklist.md",".codex/skills/juhi-governance-index/references/entrypoints.md",".codex/skills/juhi-governance-index/triage-notes.example.md",".codex/skills/juhi-module-g4-governance/SKILL.md",".codex/skills/juhi-module-g4-governance/references/entrypoints.md",".codex/skills/juhi-playwright-runtime-triage/SKILL.md",".gitea/workflows/ci.yml",".gitignore",".husky/pre-commit",".local-tools/bin/docker","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/learning.prisma","backend/scripts/audit-docs-single-source.ts","backend/scripts/audit-n1-queries.ts","backend/scripts/audit-prisma-zod-contract.ts","backend/scripts/audit-tenant-security.ts","backend/scripts/generate-rls-policies.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/load-env.ts","backend/src/config/rls-extension.ts","backend/src/main.ts","backend/src/modules/ad-accounts/ad-account.service.test.ts","backend/src/modules/ad-accounts/ad-account.service.ts","backend/src/modules/ad-audiences/ad-audience.service.test.ts","backend/src/modules/ad-biddings/ad-bidding.service.test.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.test.ts","backend/src/modules/ad-creatives/ad-creative.service.test.ts","backend/src/modules/ad-placement/ad-creative.service.test.ts","backend/src/modules/ad-placement/ad-creative.service.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/ad-reports/ad-report.service.ts","backend/src/modules/admin-settings/admin-settings.routes.ts","backend/src/modules/agent-sessions/sandbox/credential-proxy.ts","backend/src/modules/aging-analysis/aging-analysis.service.test.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.test.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.test.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-assist/context-providers/redact.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-assist/skills/compliance-coach-registry.ts","backend/src/modules/ai-assist/skills/leadership-coach-registry.ts","backend/src/modules/ai-assist/skills/marketing-coach-registry.ts","backend/src/modules/ai-assist/skills/onboarding-coach-registry.ts","backend/src/modules/ai-assist/skills/registry.ts","backend/src/modules/ai-assist/skills/sales-coach-registry.ts","backend/src/modules/ai-assist/skills/service-coach-registry.ts","backend/src/modules/ai-copilot/ai-copilot.service.test.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.test.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.test.ts","backend/src/modules/alliance-coupons/alliance-coupon.service.test.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.test.ts","backend/src/modules/alliance-packages/alliance-package.service.test.ts","backend/src/modules/alliance-packages/alliance-package.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.test.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-products/alliance-product.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.test.ts","backend/src/modules/alliance-promotions/alliance-promotion.service.ts","backend/src/modules/alliance-referrals/alliance-referral.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.ts","backend/src/modules/analytics/analytics.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/assembly/assembly.service.test.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/attribution/attribution-touchpoint.service.ts","backend/src/modules/auth/auth.service.test.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/biz-sequences/biz-sequence.service.test.ts","backend/src/modules/bom/bom.service.test.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.test.ts","backend/src/modules/campaign-library/campaign-library.service.test.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/certifications/certifications.service.test.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.test.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/chart-of-accounts/chart-of-accounts.service.ts","backend/src/modules/community-activities/community-activity.service.test.ts","backend/src/modules/community-bots/community-bot.service.ts","backend/src/modules/community-fission/community-fission.service.test.ts","backend/src/modules/community-groups/community-group.service.test.ts","backend/src/modules/community-levels/community-level.service.ts","backend/src/modules/community-materials/community-material.service.test.ts","backend/src/modules/community-members/community-member.service.test.ts","backend/src/modules/community-messages/community-message.service.test.ts","backend/src/modules/community-points/community-point.service.test.ts","backend/src/modules/community-points/community-point.service.ts","backend/src/modules/community-tasks/community-task.service.test.ts","backend/src/modules/community-tasks/community-task.service.ts","backend/src/modules/content-copyright/content-copyright.service.test.ts","backend/src/modules/content-creation/content-creation.service.test.ts","backend/src/modules/content-distribution/content-distribution.service.test.ts","backend/src/modules/content-library/content-library.service.test.ts","backend/src/modules/content-review/content-review.service.test.ts","backend/src/modules/content-templates/content-template.service.test.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/course-marketplace/course-marketplace.service.test.ts","backend/src/modules/course-marketplace/course-marketplace.service.ts","backend/src/modules/cpq/cpq.service.test.ts","backend/src/modules/cpq/cpq.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/customer-health/customer-health.service.test.ts","backend/src/modules/customer-health/customer-health.service.ts","backend/src/modules/customer-journey/customer-journey.service.test.ts","backend/src/modules/customer-ltv/customer-ltv.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.test.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/customers/customer-health.service.ts","backend/src/modules/customers/customer-hierarchy.service.ts","backend/src/modules/customers/customer-service.service.ts","backend/src/modules/customers/customer.service.test.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.test.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/disbursements/disbursement-record.service.test.ts","backend/src/modules/disbursements/expense-claim.service.test.ts","backend/src/modules/email-marketing/email-campaign.service.ts","backend/src/modules/email-templates/email-template.service.test.ts","backend/src/modules/expense/expense.service.test.ts","backend/src/modules/faults/fault.service.test.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/finance/event-payment-integration.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance-cash-analysis.service.ts","backend/src/modules/finance/finance-commissions.service.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance-credits.service.test.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-refunds.service.test.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/treasury.service.ts","backend/src/modules/financial-reports/financial-reports.service.ts","backend/src/modules/geo-fences/geo-fences.service.test.ts","backend/src/modules/geo-fences/geo-fences.service.ts","backend/src/modules/geo-fences/index.ts","backend/src/modules/geo-keywords/geo-keyword.service.test.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/geo-keywords/index.ts","backend/src/modules/geo-reviews/geo-review.service.test.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.test.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.test.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-orders/groupbuy-order.service.test.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.test.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.test.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.test.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.test.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.service.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.service.test.ts","backend/src/modules/hr/attendance/holidays/holiday.service.test.ts","backend/src/modules/hr/attendance/leaves/leave.service.test.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.test.ts","backend/src/modules/hr/attendance/records/record.service.test.ts","backend/src/modules/hr/attendance/schedules/schedule.service.test.ts","backend/src/modules/hr/attendance/shifts/shift.service.test.ts","backend/src/modules/hr/benefits/claims/claim.service.test.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.test.ts","backend/src/modules/hr/training/competency/competency.service.test.ts","backend/src/modules/hr/training/courses/course.service.test.ts","backend/src/modules/hr/training/exams/exam.service.test.ts","backend/src/modules/hr/training/plans/plan.service.test.ts","backend/src/modules/im/channels/wechat/wechat.sync.ts","backend/src/modules/im/im-binding.service.ts","backend/src/modules/im/im-enhanced.service.ts","backend/src/modules/im/im-workflow-sync.service.ts","backend/src/modules/im/workflow-dispatcher.service.ts","backend/src/modules/inventory/services/inventory-count.service.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/modules/journal-entries/journal-entries.service.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.test.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/knowledge-capture/knowledge-capture.service.test.ts","backend/src/modules/knowledge-capture/knowledge-capture.service.ts","backend/src/modules/knowledge-capture/knowledge-feedback.service.ts","backend/src/modules/knowledge/knowledge-collaboration.service.ts","backend/src/modules/knowledge/knowledge-import.service.ts","backend/src/modules/knowledge/knowledge-interaction.service.ts","backend/src/modules/knowledge/knowledge-stage.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/lead-qualification/qualification.service.test.ts","backend/src/modules/leads/lead-import.service.ts","backend/src/modules/leads/lead.service.test.ts","backend/src/modules/livestream-gifts/livestream-gifts.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.test.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.test.ts","backend/src/modules/livestream-scripts/livestream-script.service.test.ts","backend/src/modules/livestream/livestream.service.test.ts","backend/src/modules/location-assessments/location-assessment.service.test.ts","backend/src/modules/location-assessments/location-assessment.service.ts","backend/src/modules/maintenance/services/maintenance-plans.service.ts","backend/src/modules/maintenance/services/maintenance-tasks.service.ts","backend/src/modules/marketing-automation/workflow-action.service.test.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-calendar/marketing-calendar.service.test.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/marketing-content/marketing-content.service.test.ts","backend/src/modules/marketing-content/marketing-content.service.ts","backend/src/modules/marketing-forms/marketing-form.service.test.ts","backend/src/modules/marketing-forms/marketing-form.service.ts","backend/src/modules/marketing-matrix/matrix.service.test.ts","backend/src/modules/marketing-north-star/marketing-north-star.service.test.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.service.test.ts","backend/src/modules/marketing-tools/marketing-tools.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.test.ts","backend/src/modules/marketing/services/attribution.service.ts","backend/src/modules/marketing/services/touchpoint.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/opportunities/opportunity.service.test.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.service.test.ts","backend/src/modules/partner-customers/partner-customer.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-statement.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/positions/positions.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/process-designer/process-designer.service.test.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/projects/installation-project.service.test.ts","backend/src/modules/projects/installation-project.service.ts","backend/src/modules/projects/project-gantt.service.ts","backend/src/modules/projects/project.service.test.ts","backend/src/modules/projects/project.service.ts","backend/src/modules/projects/services/gantt.service.test.ts","backend/src/modules/projects/services/gantt.service.ts","backend/src/modules/projects/services/milestone.service.ts","backend/src/modules/projects/services/project.service.ts","backend/src/modules/projects/services/task.service.ts","backend/src/modules/projects/services/ticket.service.ts","backend/src/modules/purchase-orders/purchase-order.service.test.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote-decompose.service.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/reconciliation/bank-import.service.ts","backend/src/modules/reconciliation/matching-engine.service.test.ts","backend/src/modules/reconciliation/matching-engine.service.ts","backend/src/modules/redemptions/redemptions.service.test.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/renewal-tasks/renewal-task.service.test.ts","backend/src/modules/renewal-tasks/renewal-task.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.service.test.ts","backend/src/modules/resource-requests/__tests__/resource-request.service.test.ts","backend/src/modules/resource-requests/resource-request.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/event-integration.service.ts","backend/src/modules/revenue/invoice-items.service.ts","backend/src/modules/revenue/revenue-overview.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission-compat.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/rma/rma.service.test.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/sample-requests/sample-request.service.test.ts","backend/src/modules/satisfaction/satisfaction.service.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.test.ts","backend/src/modules/search/search.service.ts","backend/src/modules/segments/segment.service.test.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/service-monitor/service-disruption.service.test.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/service/services/ticket-gantt.service.ts","backend/src/modules/sla/sla.service.test.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.test.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-accounts/social-account.service.test.ts","backend/src/modules/social-auto-replies/social-auto-reply.service.test.ts","backend/src/modules/social-competitors/social-competitor.service.test.ts","backend/src/modules/social-followers/social-follower.service.test.ts","backend/src/modules/social-followers/social-follower.service.ts","backend/src/modules/social-interactions/social-interactions.logic.ts","backend/src/modules/social-interactions/social-interactions.service.test.ts","backend/src/modules/social-posts/social-post.service.test.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/store-settlements/store-settlements.service.test.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/stores/store.service.test.ts","backend/src/modules/succession-plans/succession-plans.service.test.ts","backend/src/modules/succession-plans/succession-plans.service.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/supply-chain/supply-chain.service.test.ts","backend/src/modules/supply-chain/supply-chain.service.ts","backend/src/modules/swot-analyses/swot.service.test.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/system/system.service.test.ts","backend/src/modules/targets/target.service.test.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/treasury/__tests__/payment-request.service.test.ts","backend/src/modules/treasury/daily-settlement.service.ts","backend/src/modules/treasury/payment-request.service.ts","backend/src/modules/treasury/treasury-overview.service.ts","backend/src/modules/users/user.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/constants/statuses.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/state-machines/__tests__/opportunity.machine.test.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/crud.test.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/acquisition-center.test.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","backend/tests/api/alliance-agreements.test.ts","backend/tests/api/alliance-merchants.test.ts","backend/tests/api/analytics-dashboard.test.ts","backend/tests/api/crm-activities.test.ts","backend/tests/api/event-subscriptions.test.ts","backend/tests/api/expense-claims.test.ts","backend/tests/api/finance-credit-cash.test.ts","backend/tests/api/finance-gap-closure.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/hr-services.test.ts","backend/tests/api/knowledge-feedback.test.ts","backend/tests/api/leads-governance.test.ts","backend/tests/api/marketing-services.test.ts","backend/tests/api/product-services.test.ts","backend/tests/api/project-services.test.ts","backend/tests/api/redemptions.test.ts","backend/tests/api/revenue-commissions-compat.test.ts","backend/tests/api/revenue-event-payment-compat.test.ts","backend/tests/api/revenue-invoice-items-compat.test.ts","backend/tests/unit/process-core/workflow-e2e.test.ts","docs/governance/baseline-and-experience.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/operations/production-launch-checklist.md","e2e/helpers/chain-runner.ts","e2e/helpers/create-payloads.ts","e2e/helpers/p0-chain.helper.ts","e2e/package.json","e2e/scripts/lib/view-audit.mjs","e2e/scripts/lib/view-audit.overrides.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/admin-center-procurement-warehouse-smoke.spec.ts","e2e/tests/auth/channel-integrations-smoke.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/navigation/dashboard-click-input-interaction.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/index.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/components/common/StatsCard.vue","frontend/src/composables/useListPage.ts","frontend/src/router/__tests__/system-infra-menu-governance.test.ts","frontend/src/router/menu.ts","frontend/src/router/modules/system.ts","frontend/src/router/not-found-support.ts","frontend/src/styles/index.scss","frontend/src/views/NotFound.vue","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/components/MarketingCalendar.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Detail.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/admin/Workbench.vue","frontend/src/views/ai-agents/Create.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/Tasks.vue","frontend/src/views/ai-agents/components/AgentModelManager.vue","frontend/src/views/alliance-agreements/Detail.vue","frontend/src/views/alliance-campaigns/Detail.vue","frontend/src/views/alliance-coupons/Detail.vue","frontend/src/views/alliance-partners/Detail.vue","frontend/src/views/alliance-settlements/Detail.vue","frontend/src/views/analytics/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.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/attribution-models/Index.vue","frontend/src/views/attribution-reports/Index.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaigns/wizard/Step1BusinessLine.vue","frontend/src/views/campaigns/wizard/Step2UseCase.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/channel-analytics/Index.vue","frontend/src/views/channels/Index.vue","frontend/src/views/commissions/Detail.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/community-members/Form.vue","frontend/src/views/content-library/Detail.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/components/TemplatePreview.vue","frontend/src/views/contract-templates/components/VariablePanel.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/contracts/Index.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/components/RuleTester.vue","frontend/src/views/customer-analytics/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-profit/Index.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/Index.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/FormServiceConfig.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/LeadPoolStats.vue","frontend/src/views/dashboard/components/ProfitAnalysis.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Form.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Detail.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/geo-analysis/Index.vue","frontend/src/views/geo-reviews/Index.vue","frontend/src/views/groupbuy-commissions/Index.vue","frontend/src/views/groupbuy-influencers/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/hr/Index.vue","frontend/src/views/im-channels/Index.vue","frontend/src/views/im/VideoCallRoom.vue","frontend/src/views/im/components/MessageSearch.vue","frontend/src/views/inventory/AlertSettings.vue","frontend/src/views/inventory/Analytics.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-import/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-rooms/Detail.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Calendar.vue","frontend/src/views/maintenance/PlanDetail.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-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/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/metric-tree/Index.vue","frontend/src/views/notification-configs/Form.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/orders/Index.vue","frontend/src/views/orders/components/DetailMobile.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/partners/Index.vue","frontend/src/views/payment-analytics/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Calendar.vue","frontend/src/views/pm/Detail.vue","frontend/src/views/pm/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/process-designer/Designer.vue","frontend/src/views/process-designer/ProcessList.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/products/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/profile/Index.vue","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/Milestones.vue","frontend/src/views/projects/components/gantt/ProjectGanttChart.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","frontend/src/views/reconciliation/Detail.vue","frontend/src/views/reconciliation/Index.vue","frontend/src/views/renewals/Detail.vue","frontend/src/views/renewals/Form.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.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/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/service-dashboard/components/EngineerRankingPanel.vue","frontend/src/views/service-dashboard/components/OverviewCards.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/service/TicketGantt.vue","frontend/src/views/service/components/TicketGanttChart.vue","frontend/src/views/sla/Index.vue","frontend/src/views/sla/components/SLADashboard.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/spare-parts/Detail.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/targets/Breakdown.vue","frontend/src/views/targets/Detail.vue","frontend/src/views/targets/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/components/DetailMobile.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/utm-tracking/Index.vue","frontend/src/views/video-analytics/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/Index.vue","reports/ai-assist-context-provider-redact.latest.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-flow-audit.latest.json","reports/event-flow-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/fullstack-alignment-audit.latest.json","reports/harness-dashboard.latest.json","reports/list-page-routes-audit.latest.json","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/n1-queries-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/process-definition-consistency.latest.json","reports/process-definition-consistency.latest.md","reports/project-census.baseline.json","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/tenant-security-audit.latest.json","reports/time-analysis-audit.latest.json","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","reports/workflow-completeness.latest.json","reports/workflow-completeness.latest.md","scripts/audit-module-coverage.ts","scripts/audit-type-debt.ts","scripts/governance-commander-brief.ts","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/grade.ts","scripts/harness/report.ts","scripts/harness/types.ts","shared/create-route-catalog.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5485950,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":10,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-23T10:40:14+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |