| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f217a4fbd657bd0a68d5cdda1409d995dce87607","after":"c569bab58bc56fef3a84171d89184f43afccb7e8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/f217a4fbd657bd0a68d5cdda1409d995dce87607...c569bab58bc56fef3a84171d89184f43afccb7e8","commits":[{"id":"c569bab58bc56fef3a84171d89184f43afccb7e8","message":"Fix permission naming and Zod limits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c569bab58bc56fef3a84171d89184f43afccb7e8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T02:20:23+08:00","added":[],"removed":[],"modified":["backend/src/modules/process/process.schema.ts","backend/src/modules/search/search.schema.ts"]},{"id":"8ac3b8ed5ff3230aff20f6bf92aadb8f4f0c15a6","message":"分析前后端CRUD与审计日志问题}”} invalid due to }\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8ac3b8ed5ff3230aff20f6bf92aadb8f4f0c15a6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T02:02:02+08:00","added":["backend/src/modules/channels/channel.schema.test.ts"],"removed":[],"modified":["backend/src/modules/channels/channel.schema.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","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"]},{"id":"b98220ccb9025d2ca927c83bcc57bc6e4a667a91","message":"Fix 社交分析页面 ErrorBoundary\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b98220ccb9025d2ca927c83bcc57bc6e4a667a91","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T01:43:14+08:00","added":["TODO-ANALYSIS-REPORT.md","TODO-GITHUB-ISSUES.md","backend/src/modules/multi-touch-attribution/README.md","backend/src/modules/multi-touch-attribution/multi-touch-attribution.controller.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.docs.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.schema.ts","backend/src/modules/multi-touch-attribution/multi-touch-attribution.service.ts","backend/src/modules/positions/README.md","backend/src/modules/positions/positions.routes.ts","backend/src/modules/process/README.md","backend/src/modules/process/process.docs.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.ts","backend/src/modules/public/README.md","backend/src/modules/public/public.controller.ts","backend/src/modules/public/public.docs.ts","backend/src/modules/public/public.schema.ts","backend/src/modules/public/public.service.ts","backend/src/modules/search/README.md","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/ticket-workflows/README.md","backend/src/modules/ticket-workflows/ticket-workflow.docs.ts","backend/src/modules/ticket-workflows/ticket-workflow.schema.ts","项目深度分析报告_2026-03-04_多 Agent 协作版.md"],"removed":["backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts"],"modified":["backend/scripts/audit-permission-naming.js","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/shared/services/base.service.ts","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/architecture/marketing-architecture-innovation.md","docs/architecture/omnichannel-marketing-architecture.md","docs/architecture/phase-1-fix-plan.md","docs/architecture/refactor-implementation-plan.md","docs/archive/completed/completed-archive.md","docs/archive/refactor/refactor-final-report.md","docs/archive/refactor/refactor-plan-partner-customers.md","docs/archive/refactor/refactor-progress.md","docs/archive/refactor/refactor-session-summary-2026-01-06.md","docs/archive/zod/zod-archive.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/deployment/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/guides/database-migration-guide.md","docs/guides/frontend-ui-test-specification.md","docs/guides/production-checklist.md","docs/guides/quick-start-guide.md","docs/guides/test-specification-review.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/optimization/project-module-optimization.md","docs/plans/acquisition-innovation-transformation-plan.md","docs/plans/action-plan-2026.md","docs/plans/api-refactoring-plan.md","docs/plans/batch-refactor-plan.md","docs/plans/improvement-plan.md","docs/plans/kafka-event-improvement-plan.md","docs/plans/menu-design-proposal.md","docs/plans/mobile-chat-crm-development-plan.md","docs/plans/planned-routes.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/prd/prd-巨嗨全域智库-v1.0.md","docs/reports/2025-12/reality-check-20251222.md","docs/reports/2026-01/campaigns-migration-report-20260110.md","docs/reports/2026-01/code-audit-report-2026-01-24.md","docs/reports/2026-01/code-fix-report-2026-01-24.md","docs/reports/2026-01/frontend-analysis-20260102.md","docs/reports/2026-01/improvement-report-2026-01-02.md","docs/reports/2026-01/improvements-summary-20260102.md","docs/reports/2026-01/project-comprehensive-analysis-2026-01-24.md","docs/reports/2026-01/security-audit-report-2026-01-24.md","docs/reports/domain/acquisition-domain-analysis.md","docs/reports/domain/business-domain-analysis.md","docs/reports/domain/sales-domain-analysis.md","docs/reports/system/ai-agent/ai-agent-implementation-summary.md","docs/reports/system/ai-agent/ai-agent-system-analysis.md","docs/reports/system/analysis/config-analysis-report.md","docs/reports/system/analysis/duplication-analysis-report.md","docs/reports/system/analysis/frontend-architecture-analysis.md","docs/reports/system/analysis/frontend-backend-gap-analysis.md","docs/reports/system/analysis/fullstack-gap-analysis.md","docs/reports/system/analysis/fullstack-matcher-analysis.md","docs/reports/system/analysis/gap-analysis-report.md","docs/reports/system/analysis/implementation-gap-analysis.md","docs/reports/system/analysis/module-structure-analysis.md","docs/reports/system/analysis/performance-analysis-report.md","docs/reports/system/analysis/php-migration-analysis.md","docs/reports/system/analysis/prisma-gap-analysis.md","docs/reports/system/analysis/project-analysis-report.md","docs/reports/system/analysis/stability-analysis-report.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/analysis/todo-analysis-report.md","docs/reports/system/audits/backend-quality-audit-report.md","docs/reports/system/audits/batch-operations-audit.md","docs/reports/system/audits/code-audit-report.md","docs/reports/system/audits/dependency-audit-report.md","docs/reports/system/audits/frontend-audit-report.md","docs/reports/system/audits/performance-audit-report.md","docs/reports/system/audits/security-audit-report.md","docs/reports/system/misc/alignment-report-2026.md","docs/reports/system/misc/alignment-report.md","docs/reports/system/misc/auto-fix-report.md","docs/reports/system/misc/changelog-router-fix.md","docs/reports/system/misc/database-index-migration-report.md","docs/reports/system/misc/database-partitioning-merge-summary.md","docs/reports/system/misc/immediate-action-summary.md","docs/reports/system/misc/p0-tasks-completion-report.md","docs/reports/system/misc/p0-verification-checklist.md","docs/reports/system/misc/p1-schema-validation-report.md","docs/reports/system/misc/p1-sentry-integration-report.md","docs/reports/system/misc/phase-0-completion-report.md","docs/reports/system/misc/phase-1-status-report.md","docs/reports/system/misc/pinia-persistence-verification.md","docs/reports/system/misc/router-white-screen-final-fix.md","docs/reports/system/misc/task-completion-summary.md","docs/reports/system/misc/zod-validation-enhancement-report.md","docs/reports/system/optimization/event-stream-optimization-report.md","docs/reports/system/optimization/optimization-report.md","docs/reports/system/optimization/p2-optimization-final-report.md","docs/reports/system/optimization/p2-optimization-report.md","docs/reports/system/optimization/performance-optimization-report.md","docs/reports/system/refactor/batch-refactor-summary-phase1.md","docs/reports/system/refactor/refactor-summary-partner-customers.md","docs/reports/system/refactor/refactor-summary.md","docs/reports/system/tests/test-cleanup-fix-report.md","docs/reports/system/tests/test-coverage-report.md","docs/reports/system/tests/test-execution-report.md","docs/reports/system/tests/test-fixes-summary.md","docs/reports/system/tests/test-infrastructure-complete.md","docs/reports/system/tests/test-maturity-assessment-report.md","docs/reports/system/tests/test-report.md","docs/testing/e2e-test-strategy.md","docs/testing/test-improvement-plan.md","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md","scripts/analyze-todos.ts"]},{"id":"c89937f503d3ec4cf0be0c13312c8135f16f2e91","message":"Fix ErrorBoundary crash during fetch\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c89937f503d3ec4cf0be0c13312c8135f16f2e91","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T01:25:07+08:00","added":[],"removed":[],"modified":["backend/src/modules/targets/target.service.test.ts"]},{"id":"50844f141db6ffcb67375c54bb95d1aba94746cf","message":"Fix SSL git push failure\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/50844f141db6ffcb67375c54bb95d1aba94746cf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T01:22:19+08:00","added":["backend/scripts/audit-baseline-capture.ts"],"removed":[],"modified":[".github/workflows/ci.yml",".github/workflows/pr-validation.yml","backend/package.json","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/targets/target.service.test.ts","frontend/src/views/customers/Form.vue","package.json","reports/event-publishing-audit.latest.json","reports/state-machine-integration-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"c569bab58bc56fef3a84171d89184f43afccb7e8","message":"Fix permission naming and Zod limits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c569bab58bc56fef3a84171d89184f43afccb7e8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T02:20:23+08:00","added":[],"removed":[],"modified":["backend/src/modules/process/process.schema.ts","backend/src/modules/search/search.schema.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":689484,"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,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T15:05:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |