|
10807
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10731
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775178619
|
1775178619
|
0
|
1775178618
|
1775178619
|
|
|
0
|
Edit
Delete
|
|
10808
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10732
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775178919
|
1775178919
|
0
|
1775178918
|
1775178919
|
|
|
0
|
Edit
Delete
|
|
10809
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10733
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775179219
|
1775179219
|
0
|
1775179218
|
1775179219
|
|
|
0
|
Edit
Delete
|
|
10810
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10734
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775179519
|
1775179519
|
0
|
1775179518
|
1775179519
|
|
|
0
|
Edit
Delete
|
|
10811
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10735
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775179819
|
1775179819
|
0
|
1775179818
|
1775179819
|
|
|
0
|
Edit
Delete
|
|
10812
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
health-check.yml
|
10736
|
-2
|
253
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","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/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-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/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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":5197876,"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":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1775180119
|
1775180119
|
0
|
1775180118
|
1775180119
|
|
|
0
|
Edit
Delete
|
|
4265
|
fix(seeds): Update AI agents and channels seed dat fix(seeds): Update AI agents and channels seed data to match CHECK constraints...
|
6
|
5
|
ci.yml
|
4210
|
5
|
0
|
refs/heads/main
|
aca27bf02ce6383914983c80b4169430b45bc90f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a827624730a039637887a7c3f1fb7f5c813cb3ec","after":"aca27bf02ce6383914983c80b4169430b45bc90f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a827624730a039637887a7c3f1fb7f5c813cb3ec...aca27bf02ce6383914983c80b4169430b45bc90f","commits":[{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.ts"]}],"total_commits":0,"head_commit":{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.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":1162492,"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-10T10:15:32+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"}}...
|
push
|
2
|
24
|
1773108980
|
1773109004
|
0
|
1773108978
|
1773109004
|
NULL
|
|
0
|
Edit
Delete
|
|
4266
|
fix(seeds): Update AI agents and channels seed dat fix(seeds): Update AI agents and channels seed data to match CHECK constraints...
|
6
|
5
|
health-check.yml
|
4211
|
-2
|
56
|
refs/heads/main
|
aca27bf02ce6383914983c80b4169430b45bc90f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a827624730a039637887a7c3f1fb7f5c813cb3ec","after":"aca27bf02ce6383914983c80b4169430b45bc90f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a827624730a039637887a7c3f1fb7f5c813cb3ec...aca27bf02ce6383914983c80b4169430b45bc90f","commits":[{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.ts"]}],"total_commits":0,"head_commit":{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.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":1162492,"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-10T10:15:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773109233
|
1773109234
|
0
|
1773109232
|
1773109234
|
NULL
|
|
0
|
Edit
Delete
|
|
4267
|
fix(seeds): Update AI agents and channels seed dat fix(seeds): Update AI agents and channels seed data to match CHECK constraints...
|
6
|
5
|
health-check.yml
|
4212
|
-2
|
56
|
refs/heads/main
|
aca27bf02ce6383914983c80b4169430b45bc90f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a827624730a039637887a7c3f1fb7f5c813cb3ec","after":"aca27bf02ce6383914983c80b4169430b45bc90f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a827624730a039637887a7c3f1fb7f5c813cb3ec...aca27bf02ce6383914983c80b4169430b45bc90f","commits":[{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.ts"]}],"total_commits":0,"head_commit":{"id":"aca27bf02ce6383914983c80b4169430b45bc90f","message":"fix(seeds): Update AI agents and channels seed data to match CHECK constraints\n\n- Fix agent_type values to match database CHECK constraints (ai_sales -\u003e sales_assistant, etc.)\n- Add agent_type field to agent statistics update\n- Add AI training data seeding with FAQ, knowledge base, and best practices\n- Add AI conversation history seeding\n- Add cleanup logic to avoid duplicate seed data (training_data, conversations, im_channels)\n- Change im_channels from upsert to create with explicit ID to avoid conflicts\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca27bf02ce6383914983c80b4169430b45bc90f","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-10T10:16:09+08:00","added":["backend/backups/juhi_revops_2026-03-10T02-16-06.sql.gz"],"removed":[],"modified":["backend/prisma/seeds/11-ai-agents.ts","backend/prisma/seeds/12-channels-marketing.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":1162492,"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-10T10:15:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773109533
|
1773109534
|
0
|
1773109532
|
1773109534
|
NULL
|
|
0
|
Edit
Delete
|
|
7765
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
e2e-tests.yml
|
7690
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1774346642
|
1774346826
|
0
|
1774346641
|
1774346872
|
|
|
0
|
Edit
Delete
|
|
7766
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
test-pipeline.yml
|
7691
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
68
|
1774346826
|
1774346863
|
0
|
1774346641
|
1774346929
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
7767
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7692
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774346863
|
1774346864
|
0
|
1774346724
|
1774346864
|
|
|
0
|
Edit
Delete
|
|
7768
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
test-report.yml
|
7693
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7765,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7765","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7765","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7690,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:04:02+08:00","completed_at":"2026-03-24T18:07:06+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774346865
|
1774346869
|
0
|
1774346826
|
1774346885
|
|
|
0
|
Edit
Delete
|
|
7769
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
deploy.yml
|
7694
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7766,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7691,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:07:06+08:00","completed_at":"2026-03-24T18:07:43+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
26
|
1774346873
|
1774346925
|
0
|
1774346863
|
1774346925
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7770
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
test-report.yml
|
7695
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7765,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7765","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7765","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7690,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:04:02+08:00","completed_at":"2026-03-24T18:07:06+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774346887
|
1774346889
|
0
|
1774346872
|
1774346922
|
|
|
0
|
Edit
Delete
|
|
7771
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
deploy.yml
|
7696
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7766,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7691,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:07:06+08:00","completed_at":"2026-03-24T18:07:43+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
17
|
1774346926
|
1774346930
|
0
|
1774346925
|
1774346930
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7772
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
deploy.yml
|
7697
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7766,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7691,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:07:06+08:00","completed_at":"2026-03-24T18:07:43+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
12
|
0
|
1774346931
|
0
|
1774346930
|
1774346931
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7773
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
deploy.yml
|
7698
|
5
|
0
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-03-24T18:02:32+08:00","updated_at":"2026-03-24T18:02:32+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7766,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7766","display_title":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7691,"head_sha":"9f09902dce3537d952595fd6d33175b6f0c24c7e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T18:07:06+08:00","completed_at":"2026-03-24T18:07:43+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1846746,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-24T18:04:08+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
1
|
40
|
1774346932
|
1774346953
|
0
|
1774346932
|
1774346953
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7774
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7699
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774347024
|
1774347024
|
0
|
1774347024
|
1774347024
|
|
|
0
|
Edit
Delete
|
|
7775
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7700
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774347324
|
1774347324
|
0
|
1774347324
|
1774347324
|
|
|
0
|
Edit
Delete
|
|
7776
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7701
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774347624
|
1774347624
|
0
|
1774347624
|
1774347624
|
|
|
0
|
Edit
Delete
|
|
7777
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7702
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774347924
|
1774347924
|
0
|
1774347924
|
1774347924
|
|
|
0
|
Edit
Delete
|
|
7778
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7703
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774348224
|
1774348224
|
0
|
1774348224
|
1774348224
|
|
|
0
|
Edit
Delete
|
|
7779
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7704
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774348524
|
1774348524
|
0
|
1774348524
|
1774348524
|
|
|
0
|
Edit
Delete
|
|
7780
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7705
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774348824
|
1774348824
|
0
|
1774348824
|
1774348824
|
|
|
0
|
Edit
Delete
|
|
7781
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7706
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774349124
|
1774349124
|
0
|
1774349124
|
1774349124
|
|
|
0
|
Edit
Delete
|
|
7782
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7707
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774349424
|
1774349424
|
0
|
1774349424
|
1774349424
|
|
|
0
|
Edit
Delete
|
|
7783
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7708
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774349724
|
1774349724
|
0
|
1774349724
|
1774349724
|
|
|
0
|
Edit
Delete
|
|
7784
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7709
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774350024
|
1774350024
|
0
|
1774350024
|
1774350024
|
|
|
0
|
Edit
Delete
|
|
7785
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7710
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774350324
|
1774350324
|
0
|
1774350324
|
1774350324
|
|
|
0
|
Edit
Delete
|
|
7786
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7711
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774350624
|
1774350624
|
0
|
1774350624
|
1774350624
|
|
|
0
|
Edit
Delete
|
|
7787
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7712
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774350924
|
1774350924
|
0
|
1774350924
|
1774350924
|
|
|
0
|
Edit
Delete
|
|
7788
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7713
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774351224
|
1774351224
|
0
|
1774351224
|
1774351224
|
|
|
0
|
Edit
Delete
|
|
7789
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7714
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774351524
|
1774351524
|
0
|
1774351524
|
1774351524
|
|
|
0
|
Edit
Delete
|
|
7790
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7715
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774351824
|
1774351824
|
0
|
1774351824
|
1774351824
|
|
|
0
|
Edit
Delete
|
|
7791
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7716
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774352124
|
1774352124
|
0
|
1774352124
|
1774352124
|
|
|
0
|
Edit
Delete
|
|
7792
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7717
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774352424
|
1774352424
|
0
|
1774352424
|
1774352424
|
|
|
0
|
Edit
Delete
|
|
7793
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7718
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774352724
|
1774352724
|
0
|
1774352724
|
1774352724
|
|
|
0
|
Edit
Delete
|
|
7794
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7719
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774353024
|
1774353024
|
0
|
1774353024
|
1774353024
|
|
|
0
|
Edit
Delete
|
|
7795
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7720
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774353324
|
1774353324
|
0
|
1774353324
|
1774353324
|
|
|
0
|
Edit
Delete
|
|
7796
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7721
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774353624
|
1774353624
|
0
|
1774353624
|
1774353624
|
|
|
0
|
Edit
Delete
|
|
7797
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7722
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774353924
|
1774353924
|
0
|
1774353924
|
1774353924
|
|
|
0
|
Edit
Delete
|
|
7798
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7723
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774354224
|
1774354224
|
0
|
1774354224
|
1774354224
|
|
|
0
|
Edit
Delete
|
|
7799
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7724
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774354524
|
1774354524
|
0
|
1774354524
|
1774354524
|
|
|
0
|
Edit
Delete
|
|
7800
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7725
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774354824
|
1774354824
|
0
|
1774354824
|
1774354824
|
|
|
0
|
Edit
Delete
|
|
7801
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7726
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774355124
|
1774355124
|
0
|
1774355124
|
1774355124
|
|
|
0
|
Edit
Delete
|
|
7802
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7727
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774355424
|
1774355424
|
0
|
1774355424
|
1774355424
|
|
|
0
|
Edit
Delete
|
|
7803
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7728
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774355724
|
1774355724
|
0
|
1774355724
|
1774355724
|
|
|
0
|
Edit
Delete
|
|
7804
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7729
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774356024
|
1774356024
|
0
|
1774356024
|
1774356024
|
|
|
0
|
Edit
Delete
|
|
7805
|
fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试
|
6
|
5
|
health-check.yml
|
7730
|
-2
|
139
|
refs/heads/main
|
9f09902dce3537d952595fd6d33175b6f0c24c7e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81e883dfff9283af39b3dd2aa30e25ae2119e8f0","after":"9f09902dce3537d952595fd6d33175b6f0c24c7e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/81e883dfff9283af39b3dd2aa30e25ae2119e8f0...9f09902dce3537d952595fd6d33175b6f0c24c7e","commits":[{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},{"id":"8339466d837e734a5b9760c71def3fa95e07bb05","message":"fix: 后端 TypeScript 编译错误批量修复 (326→140)\n\n修复 186 个 tsc 编译错误,主要修复模式:\n- ZodEffects 上的 .partial()/.omit()/.extend() 改为手动定义 update schema\n- BaseService list 方法的 query 参数改为 Partial\u003cInput\u003e 兼容默认值\n- Record\u003cstring, unknown\u003e 属性访问添加 as 类型断言\n- Prisma JSON 字段赋值添加 as Prisma.InputJsonValue\n- docs 文件的 pathParams 从 ZodObject 改为手动数组\n- ApiEndpoint.responses 改为可选字段\n- 动态 import 模块的类型适配(tracing.ts)\n- $transaction 数组参数的 PrismaPromise 类型适配\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8339466d837e734a5b9760c71def3fa95e07bb05","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-24T14:16:49+08:00","added":[],"removed":[],"modified":["backend/scripts/verify-workflow-e2e.ts","backend/src/config/database.ts","backend/src/config/kafka.ts","backend/src/config/tracing.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/ad-placement/ad-creative.docs.ts","backend/src/modules/ad-reports/ad-report.docs.ts","backend/src/modules/ai-agent-skills/ai-agent-skills.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.controller.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/semantic-agent.service.ts","backend/src/modules/ai-agents/services/transformation-agent.service.ts","backend/src/modules/ai-copilot/ai-copilot.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/alliance-analytics/alliance-analytics.docs.ts","backend/src/modules/alliance-merchants/alliance-merchant.docs.ts","backend/src/modules/alliance-packages/alliance-package.docs.ts","backend/src/modules/alliance-partners/alliance-partner.docs.ts","backend/src/modules/alliance-products/alliance-product.docs.ts","backend/src/modules/alliance-promotions/alliance-promotion.docs.ts","backend/src/modules/alliance-settlements/alliance-settlement.docs.ts","backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/analytics/analytics.docs.ts","backend/src/modules/approval-templates/approval-template.docs.ts","backend/src/modules/assembly/assembly.docs.ts","backend/src/modules/attribution/attribution.docs.ts","backend/src/modules/audit-logs/audit-log.docs.ts","backend/src/modules/auth/auth.docs.ts","backend/src/modules/campaign-drafts/campaign-draft.docs.ts","backend/src/modules/campaign-library/campaign-library.docs.ts","backend/src/modules/campaign-targets/campaign-target.docs.ts","backend/src/modules/campaign-tools/campaign-tool.docs.ts","backend/src/modules/campaign-use-case-templates/use-case-template.docs.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/cash-flow/cash-flow.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channels/channel.docs.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/community-analytics/community-analytics.service.ts","backend/src/modules/community-bots/community-bot.docs.ts","backend/src/modules/community-fission/community-fission.docs.ts","backend/src/modules/community-gamification/community-gamification.docs.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/modules/community-levels/community-level.docs.ts","backend/src/modules/community-materials/community-material.docs.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-members/community-member.docs.ts","backend/src/modules/community-messages/community-message.docs.ts","backend/src/modules/community-tasks/community-task.docs.ts","backend/src/modules/content-analytics/content-analytics.docs.ts","backend/src/modules/content-categories/content-category.docs.ts","backend/src/modules/content-copyright/content-copyright.docs.ts","backend/src/modules/content-creation/content-creation.docs.ts","backend/src/modules/content-distribution/content-distribution.docs.ts","backend/src/modules/content-library/content-library.docs.ts","backend/src/modules/content-review/content-review.docs.ts","backend/src/modules/content-templates/content-template.docs.ts","backend/src/modules/contract-templates/contract-template.docs.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cpq/cpq.docs.ts","backend/src/modules/crm-activities/crm-activity.docs.ts","backend/src/modules/customer-analytics/customer-analytics.docs.ts","backend/src/modules/customer-balance/customer-balance.docs.ts","backend/src/modules/customer-journey/customer-journey.docs.ts","backend/src/modules/customer-profit/customer-profit.docs.ts","backend/src/modules/customers/customer-contact.service.ts","backend/src/modules/dashboard/dashboard.docs.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/disbursements/disbursement.docs.ts","backend/src/modules/email-marketing/index.ts","backend/src/modules/faults/fault.docs.ts","backend/src/modules/files/file.docs.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/financial-reports/financial-reports.docs.ts","backend/src/modules/fulfillment/fulfillment.docs.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-keywords/geo-keywords.docs.ts","backend/src/modules/geo-pois/geo-poi.docs.ts","backend/src/modules/geo-reviews/geo-review.docs.ts","backend/src/modules/groupbuy-analytics/groupbuy-analytics.docs.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaigns.docs.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.docs.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.docs.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.docs.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.docs.ts","backend/src/modules/groupbuy-pricing/groupbuy-pricing.docs.ts","backend/src/modules/groupbuy-products/groupbuy-product.docs.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.docs.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.docs.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.docs.ts","backend/src/modules/groupbuy-settlements/groupbuy-settlement.docs.ts","backend/src/modules/hr/attendance/leaves/leave.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/attendance/records/record.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/im/im.docs.ts","backend/src/modules/inventory/inventory.docs.ts","backend/src/modules/journey-orchestration/journey-orchestration.docs.ts","backend/src/modules/knowledge-capture/knowledge-capture.docs.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.docs.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.docs.ts","backend/src/modules/landing-pages/index.ts","backend/src/modules/landing-pages/landing-page.docs.ts","backend/src/modules/lead-qualification/index.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.docs.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.docs.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/livestream-analytics.docs.ts","backend/src/modules/livestream-gifts/livestream-gifts.docs.ts","backend/src/modules/livestream-interactions/livestream-interaction.docs.ts","backend/src/modules/livestream-products/livestream-product.docs.ts","backend/src/modules/livestream-rooms/livestream-room.docs.ts","backend/src/modules/livestream-schedules/livestream-schedules.docs.ts","backend/src/modules/livestream-scripts/livestream-script.docs.ts","backend/src/modules/livestream/livestream.docs.ts","backend/src/modules/location-assessments/location-assessment.docs.ts","backend/src/modules/maintenance/maintenance.docs.ts","backend/src/modules/marketing-automation/index.ts","backend/src/modules/marketing-calendar/marketing-calendar.docs.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.docs.ts","backend/src/modules/marketing-content/marketing-content.docs.ts","backend/src/modules/marketing-forms/index.ts","backend/src/modules/marketing-matrix/matrix.docs.ts","backend/src/modules/marketing-north-star/marketing-north-star.docs.ts","backend/src/modules/marketing-timeslots/marketing-timeslots.docs.ts","backend/src/modules/marketing-tools/marketing-tools.docs.ts","backend/src/modules/marketing/budget.schema.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/marketing/marketing.docs.ts","backend/src/modules/menus/menu.service.ts","backend/src/modules/partner-customers/partner-customer.docs.ts","backend/src/modules/partners/partner.docs.ts","backend/src/modules/payment-analytics/payment-analytics.docs.ts","backend/src/modules/pm/pm.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/products/services/sku.schema.ts","backend/src/modules/projects/project.docs.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime/message-template.schema.ts","backend/src/modules/reconciliation/reconciliation.docs.ts","backend/src/modules/renewal-tasks/renewal-task.docs.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/sales-dashboard/sales-dashboard.docs.ts","backend/src/modules/sample-requests/sample-request.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/search/search.docs.ts","backend/src/modules/serial-numbers/sn.docs.ts","backend/src/modules/service-dashboard/service-dashboard.docs.ts","backend/src/modules/service/service.docs.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sms-marketing/sms-marketing.docs.ts","backend/src/modules/social-accounts/social-account.docs.ts","backend/src/modules/social-analytics/social-analytics.docs.ts","backend/src/modules/social-auto-replies/social-auto-replies.docs.ts","backend/src/modules/social-competitors/social-competitor.docs.ts","backend/src/modules/social-followers/social-follower.docs.ts","backend/src/modules/social-hot-topics/social-hot-topic.docs.ts","backend/src/modules/social-interactions/social-interactions.docs.ts","backend/src/modules/social-posts/social-post.docs.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/suppliers/supplier.docs.ts","backend/src/modules/supply-chain/supplier-management.docs.ts","backend/src/modules/swot-analyses/swot.docs.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.docs.ts","backend/src/modules/web-tracking/web-tracking.docs.ts","backend/src/modules/workflow-generator/workflow-generator.docs.ts","backend/src/shared/openapi/route-metadata.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/base.service.ts"]}],"total_commits":0,"head_commit":{"id":"9f09902dce3537d952595fd6d33175b6f0c24c7e","message":"fix: 8 Agent 并行治理 — tsc清零+安全修复+N+1优化+状态机边界测试\n\n- tsc 编译错误 140→0 清零(第3轮:validation.ts/process-adapter/HR模块/marketing-automation等)\n- 高危修复:Order isPaid 守卫增加 totalAmount\u003e0 防止负数绕过支付\n- Code Review 修复:community-material 批量操作补充 tenant_id 条件\n- 新增 6 模块 ~180 个状态机边界测试用例(lead/opportunity/quote/contract/order/ticket)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9f09902dce3537d952595fd6d33175b6f0c24c7e","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-24T18:02:32+08:00","added":["backend/src/modules/contracts/__tests__/contract.edge-cases.test.ts","backend/src/modules/leads/__tests__/lead.edge-cases.test.ts","backend/src/modules/opportunities/__tests__/opportunity.edge-cases.test.ts","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/modules/quotes/__tests__/quote.edge-cases.test.ts","backend/src/modules/tickets/__tests__/ticket.edge-cases.test.ts"],"removed":[],"modified":["backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/hr/attendance/overtime/overtime.service.ts","backend/src/modules/hr/benefits/plans/plan.service.ts","backend/src/modules/hr/org-chart.routes.ts","backend/src/modules/hr/payroll/payroll.service.ts","backend/src/modules/hr/training/certificates/certificate.controller.ts","backend/src/modules/hr/training/courses/course.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.routes.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-workflows/marketing-workflow.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","backend/src/modules/redemptions/redemptions.service.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.docs.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/social-competitors/social-competitor.service.ts","backend/src/modules/store-inventory/store-inventory.service.ts","backend/src/modules/store-settlements/store-settlements.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/swot-analyses/swot.controller.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/src/shared/services/cache.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/utils/pagination.ts","backend/src/shared/utils/validation.ts","backend/tsconfig.json"]},"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":1845854,"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":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-24T12:03:52+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774356324
|
1774356324
|
0
|
1774356324
|
1774356324
|
|
|
0
|
Edit
Delete
|