|
9744
|
Fix release gate type regressions in dashboard and Fix release gate type regressions in dashboard and query schemas...
|
6
|
5
|
test-pipeline.yml
|
9667
|
5
|
0
|
refs/heads/main
|
fb960500246fc412cf02a20cc0b316e9100eeb7f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","after":"fb960500246fc412cf02a20cc0b316e9100eeb7f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a...fb960500246fc412cf02a20cc0b316e9100eeb7f","commits":[{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]}],"total_commits":0,"head_commit":{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},"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":1905979,"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":2,"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-30T20:59:37+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
|
1774878893
|
1774879227
|
0
|
1774876261
|
1774880519
|
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
|
|
9913
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
e2e-tests.yml
|
9837
|
5
|
0
|
refs/heads/main
|
9901c454467cf62d4e127620f218a97bcca01629
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fb960500246fc412cf02a20cc0b316e9100eeb7f","after":"9901c454467cf62d4e127620f218a97bcca01629","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/fb960500246fc412cf02a20cc0b316e9100eeb7f...9901c454467cf62d4e127620f218a97bcca01629","commits":[{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},{"id":"17eeeeca6840d3d7f84c9a6a381db62de7119483","message":"feat(harness): add Harness Engineering v2.0 assets\n\nAdd 5 audit scripts (field-payload, enum-consistency, formrules-zod,\nresponse-columns, module-coverage), P0 chain E2E tests (53 cases),\nSLO monitoring configs, health check service, and vitest workspace\nunified configuration.\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/17eeeeca6840d3d7f84c9a6a381db62de7119483","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-31T10:07:36+08:00","added":[".claude/commands/juhi/harness.md",".claude/skills/juhi/harness.md","backend/src/shared/services/health-check.service.ts","backend/vitest.workspace.ts","deploy/monitoring/alerting-rules.yml","deploy/monitoring/grafana-dashboard-slo.json","docs/operations/slo-definitions.md","e2e/helpers/p0-chain.helper.ts","e2e/tests/p0-chain/boundary-guards.spec.ts","e2e/tests/p0-chain/lead-to-cash.spec.ts","e2e/tests/p0-chain/state-transitions.spec.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/response-columns-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-module-coverage.ts","scripts/audit-response-columns.ts"],"removed":[],"modified":[]},{"id":"89e359306a90610d4d24002ab2f8eacc70ee3cb6","message":"feat(ai-agents): 完善模块全栈对齐 + 修复多租户隔离漏洞\n\n- fix(CRITICAL): multi-agent-collaboration 两处跨租户写入漏洞\n - updateSessionStatus 缺失 tenant_id 导致可跨租户篡改 session\n - addGroupMember 缺失 tenant_id 导致可跨租户修改 agent 协作标记\n- fix(Prisma↔Zod): workflow description .max(500)→.max(2000) 对齐 VarChar(2000)\n- fix(Zod): inputData 从 z.any() 改为 z.record(z.unknown()) (2处)\n- feat(statuses.ts): 补充 AI Agent/Task/Workflow 三组状态枚举+配置+转换规则\n- feat(types): 消除 7 处 any 类型,补充完整接口定义\n - AIAgentTrainingData/AIAgentMetrics/ListTrainingDataParams 等\n - CreateWorkflowInput steps/triggerConfig/errorHandling\n - IM 接口索引签名 any→unknown\n- feat(types): 新增 AITaskType(18值)/AITaskPriority(4值) 严格枚举\n- feat(types): AI_TASK_TYPE_OPTIONS 从 2 个补全到 18 个\n- feat(types): AI_TASK_STATUS_OPTIONS 补充 recovering 状态\n- feat(types): AI_AGENT_TYPE_OPTIONS 补充 ai_lead_collector\n- fix(types): CreateAIAgentInput.modelConfig 必填→可选对齐 Zod\n- fix(types): CreateTrainingDataInput.title 必填→可选对齐 Zod\n- fix(types): ListAITasksParams 补充 reviewStatus 字段\n- fix(types): WorkflowStepDefinition 字段名对齐 Zod (stepId/stepType/nextSteps)\n- refactor(router): 清理 458 行注释路由代码\n- feat(store): 补充 fetchOverviewStats/batchAssignTasks 方法\n- feat(llm-analyzer): 扩展为统一导出视觉/语义/转换三类 LLM 能力\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89e359306a90610d4d24002ab2f8eacc70ee3cb6","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-31T09:57:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/services/llm-analyzer.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/shared/constants/statuses.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/stores/ai-agent.ts","frontend/src/types/ai-agent.ts"]}],"total_commits":0,"head_commit":{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.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":1906045,"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":2,"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-30T21:11:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1774923481
|
1774924033
|
0
|
1774923479
|
1774926173
|
|
|
0
|
Edit
Delete
|
|
9914
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
test-pipeline.yml
|
9838
|
5
|
0
|
refs/heads/main
|
9901c454467cf62d4e127620f218a97bcca01629
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fb960500246fc412cf02a20cc0b316e9100eeb7f","after":"9901c454467cf62d4e127620f218a97bcca01629","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/fb960500246fc412cf02a20cc0b316e9100eeb7f...9901c454467cf62d4e127620f218a97bcca01629","commits":[{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},{"id":"17eeeeca6840d3d7f84c9a6a381db62de7119483","message":"feat(harness): add Harness Engineering v2.0 assets\n\nAdd 5 audit scripts (field-payload, enum-consistency, formrules-zod,\nresponse-columns, module-coverage), P0 chain E2E tests (53 cases),\nSLO monitoring configs, health check service, and vitest workspace\nunified configuration.\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/17eeeeca6840d3d7f84c9a6a381db62de7119483","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-31T10:07:36+08:00","added":[".claude/commands/juhi/harness.md",".claude/skills/juhi/harness.md","backend/src/shared/services/health-check.service.ts","backend/vitest.workspace.ts","deploy/monitoring/alerting-rules.yml","deploy/monitoring/grafana-dashboard-slo.json","docs/operations/slo-definitions.md","e2e/helpers/p0-chain.helper.ts","e2e/tests/p0-chain/boundary-guards.spec.ts","e2e/tests/p0-chain/lead-to-cash.spec.ts","e2e/tests/p0-chain/state-transitions.spec.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/response-columns-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-module-coverage.ts","scripts/audit-response-columns.ts"],"removed":[],"modified":[]},{"id":"89e359306a90610d4d24002ab2f8eacc70ee3cb6","message":"feat(ai-agents): 完善模块全栈对齐 + 修复多租户隔离漏洞\n\n- fix(CRITICAL): multi-agent-collaboration 两处跨租户写入漏洞\n - updateSessionStatus 缺失 tenant_id 导致可跨租户篡改 session\n - addGroupMember 缺失 tenant_id 导致可跨租户修改 agent 协作标记\n- fix(Prisma↔Zod): workflow description .max(500)→.max(2000) 对齐 VarChar(2000)\n- fix(Zod): inputData 从 z.any() 改为 z.record(z.unknown()) (2处)\n- feat(statuses.ts): 补充 AI Agent/Task/Workflow 三组状态枚举+配置+转换规则\n- feat(types): 消除 7 处 any 类型,补充完整接口定义\n - AIAgentTrainingData/AIAgentMetrics/ListTrainingDataParams 等\n - CreateWorkflowInput steps/triggerConfig/errorHandling\n - IM 接口索引签名 any→unknown\n- feat(types): 新增 AITaskType(18值)/AITaskPriority(4值) 严格枚举\n- feat(types): AI_TASK_TYPE_OPTIONS 从 2 个补全到 18 个\n- feat(types): AI_TASK_STATUS_OPTIONS 补充 recovering 状态\n- feat(types): AI_AGENT_TYPE_OPTIONS 补充 ai_lead_collector\n- fix(types): CreateAIAgentInput.modelConfig 必填→可选对齐 Zod\n- fix(types): CreateTrainingDataInput.title 必填→可选对齐 Zod\n- fix(types): ListAITasksParams 补充 reviewStatus 字段\n- fix(types): WorkflowStepDefinition 字段名对齐 Zod (stepId/stepType/nextSteps)\n- refactor(router): 清理 458 行注释路由代码\n- feat(store): 补充 fetchOverviewStats/batchAssignTasks 方法\n- feat(llm-analyzer): 扩展为统一导出视觉/语义/转换三类 LLM 能力\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89e359306a90610d4d24002ab2f8eacc70ee3cb6","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-31T09:57:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/services/llm-analyzer.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/shared/constants/statuses.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/stores/ai-agent.ts","frontend/src/types/ai-agent.ts"]}],"total_commits":0,"head_commit":{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.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":1906045,"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":2,"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-30T21:11:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1774924034
|
1774925150
|
0
|
1774923480
|
1774927462
|
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
|
|
9956
|
chore: 更新 Claude 配置与 AI Autopilot 测试输出
|
6
|
5
|
e2e-tests.yml
|
9880
|
5
|
0
|
refs/heads/main
|
dffb3332733fb56fd51632938c4379422125381c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9901c454467cf62d4e127620f218a97bcca01629","after":"dffb3332733fb56fd51632938c4379422125381c","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9901c454467cf62d4e127620f218a97bcca01629...dffb3332733fb56fd51632938c4379422125381c","commits":[{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]}],"total_commits":0,"head_commit":{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.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":3546146,"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":2,"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-31T10:18:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1774934356
|
1774934823
|
0
|
1774934355
|
1774936030
|
|
|
0
|
Edit
Delete
|
|
9957
|
chore: 更新 Claude 配置与 AI Autopilot 测试输出
|
6
|
5
|
test-pipeline.yml
|
9881
|
5
|
0
|
refs/heads/main
|
dffb3332733fb56fd51632938c4379422125381c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9901c454467cf62d4e127620f218a97bcca01629","after":"dffb3332733fb56fd51632938c4379422125381c","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9901c454467cf62d4e127620f218a97bcca01629...dffb3332733fb56fd51632938c4379422125381c","commits":[{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]}],"total_commits":0,"head_commit":{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.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":3546146,"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":2,"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-31T10:18:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1774934824
|
1774936016
|
0
|
1774934356
|
1774936265
|
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
|
|
10046
|
Harden invoice detail formatting and finance smoke Harden invoice detail formatting and finance smoke coverage...
|
6
|
5
|
e2e-tests.yml
|
9970
|
5
|
0
|
refs/heads/main
|
46635b50050ba09e31518824f56b1e2176e7b0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dffb3332733fb56fd51632938c4379422125381c","after":"46635b50050ba09e31518824f56b1e2176e7b0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...46635b50050ba09e31518824f56b1e2176e7b0b7","commits":[{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md"]}],"total_commits":0,"head_commit":{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},"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":3553340,"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-03-31T17:38:38+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
|
1774957473
|
1774958178
|
0
|
1774957472
|
1774958478
|
|
|
0
|
Edit
Delete
|
|
10047
|
Harden invoice detail formatting and finance smoke Harden invoice detail formatting and finance smoke coverage...
|
6
|
5
|
test-pipeline.yml
|
9971
|
5
|
0
|
refs/heads/main
|
46635b50050ba09e31518824f56b1e2176e7b0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dffb3332733fb56fd51632938c4379422125381c","after":"46635b50050ba09e31518824f56b1e2176e7b0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...46635b50050ba09e31518824f56b1e2176e7b0b7","commits":[{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md"]}],"total_commits":0,"head_commit":{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},"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":3553340,"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-03-31T17:38:38+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
|
1774958179
|
1774958441
|
0
|
1774957473
|
1774960753
|
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
|
|
10419
|
feat(statuses): add 61 missing enum definitions to feat(statuses): add 61 missing enum definitions to statuses.ts...
|
6
|
5
|
e2e-tests.yml
|
10343
|
5
|
0
|
refs/heads/main
|
7212eb23c82b2ecae9ea1f22fa928fc6382f842d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"46635b50050ba09e31518824f56b1e2176e7b0b7","after":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/46635b50050ba09e31518824f56b1e2176e7b0b7...7212eb23c82b2ecae9ea1f22fa928fc6382f842d","commits":[{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\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/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","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-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.ts"]},{"id":"f94b12e56bac07b085d726a5205b134f3b46d56c","message":"fix: schema字段补齐 + 枚举审计补全 + leads N+1修复 + API测试扩展\n\n- 补齐 alliance-agreements/coupons/campaigns、community-tasks/bots、groupbuy-promotions 的 Zod schema 缺失字段\n- statuses.ts 新增审计补齐的枚举定义(ABM/approval/AR-ledger 等)\n- leads 列表去除 AI enrichment 避免 N+1 性能瓶颈\n- dashboard-cache 增加 destroy() 防止定时器泄漏,main.ts 注册关闭钩子\n- 扩展 assets/auth/financial-reports API 测试用例\n- 刷新 7 份审计报告\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f94b12e56bac07b085d726a5205b134f3b46d56c","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-02T01:57:16+08:00","added":[],"removed":[],"modified":["backend/src/main.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/dashboard/dashboard-cache.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/shared/constants/statuses.ts","backend/tests/api/assets.test.ts","backend/tests/api/auth.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/module-catalog.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"83dba3313659e6cae54f44e9b5f92ed76cdc6930","message":"fix(outbox): move publishEvent outside $transaction for 20 B-class calls\n\nEnsure Kafka events are only published after transaction commits\nsuccessfully, preventing phantom events on rollback.\n\nModules: customer-balance(6), rma(3), targets(2), swot(2), devices(1),\nproducts(1), renewals(1), ar-ledger(1), commission-settlement(1),\nserial-numbers(1), lead-collector(1 - already A-class on review)\n\nGate: tsc 0 | 408 files 6410 tests 100%\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/83dba3313659e6cae54f44e9b5f92ed76cdc6930","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-02T01:50:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.service.ts"]},{"id":"030461be827686bdc356980b5b9194d818d792b9","message":"Harden deployment checks and expand API coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/030461be827686bdc356980b5b9194d818d792b9","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-02T01:41:49+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/tests/api/module-catalog.ts","backend/tests/api/web-tracking.test.ts","frontend/src/api/modules/supplier-management.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"7502b39b876a708302cebd203aa34871ea2a5e1b","message":"fix(docker): increase Node memory for frontend Vite build in Docker\n\nLarge project (735 JS chunks) needs more heap to avoid OOM during\nproduction build inside Alpine container.\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/7502b39b876a708302cebd203aa34871ea2a5e1b","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-02T01:37:34+08:00","added":[],"removed":[],"modified":["frontend/Dockerfile"]}],"total_commits":0,"head_commit":{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\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/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","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-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.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":3553340,"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-03-31T19:44:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1775066752
|
1775067060
|
0
|
1775066750
|
1775067155
|
|
|
0
|
Edit
Delete
|
|
10420
|
feat(statuses): add 61 missing enum definitions to feat(statuses): add 61 missing enum definitions to statuses.ts...
|
6
|
5
|
test-pipeline.yml
|
10344
|
5
|
0
|
refs/heads/main
|
7212eb23c82b2ecae9ea1f22fa928fc6382f842d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"46635b50050ba09e31518824f56b1e2176e7b0b7","after":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/46635b50050ba09e31518824f56b1e2176e7b0b7...7212eb23c82b2ecae9ea1f22fa928fc6382f842d","commits":[{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\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/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","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-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.ts"]},{"id":"f94b12e56bac07b085d726a5205b134f3b46d56c","message":"fix: schema字段补齐 + 枚举审计补全 + leads N+1修复 + API测试扩展\n\n- 补齐 alliance-agreements/coupons/campaigns、community-tasks/bots、groupbuy-promotions 的 Zod schema 缺失字段\n- statuses.ts 新增审计补齐的枚举定义(ABM/approval/AR-ledger 等)\n- leads 列表去除 AI enrichment 避免 N+1 性能瓶颈\n- dashboard-cache 增加 destroy() 防止定时器泄漏,main.ts 注册关闭钩子\n- 扩展 assets/auth/financial-reports API 测试用例\n- 刷新 7 份审计报告\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f94b12e56bac07b085d726a5205b134f3b46d56c","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-02T01:57:16+08:00","added":[],"removed":[],"modified":["backend/src/main.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/dashboard/dashboard-cache.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/shared/constants/statuses.ts","backend/tests/api/assets.test.ts","backend/tests/api/auth.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/module-catalog.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"83dba3313659e6cae54f44e9b5f92ed76cdc6930","message":"fix(outbox): move publishEvent outside $transaction for 20 B-class calls\n\nEnsure Kafka events are only published after transaction commits\nsuccessfully, preventing phantom events on rollback.\n\nModules: customer-balance(6), rma(3), targets(2), swot(2), devices(1),\nproducts(1), renewals(1), ar-ledger(1), commission-settlement(1),\nserial-numbers(1), lead-collector(1 - already A-class on review)\n\nGate: tsc 0 | 408 files 6410 tests 100%\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/83dba3313659e6cae54f44e9b5f92ed76cdc6930","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-02T01:50:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.service.ts"]},{"id":"030461be827686bdc356980b5b9194d818d792b9","message":"Harden deployment checks and expand API coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/030461be827686bdc356980b5b9194d818d792b9","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-02T01:41:49+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/tests/api/module-catalog.ts","backend/tests/api/web-tracking.test.ts","frontend/src/api/modules/supplier-management.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"7502b39b876a708302cebd203aa34871ea2a5e1b","message":"fix(docker): increase Node memory for frontend Vite build in Docker\n\nLarge project (735 JS chunks) needs more heap to avoid OOM during\nproduction build inside Alpine container.\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/7502b39b876a708302cebd203aa34871ea2a5e1b","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-02T01:37:34+08:00","added":[],"removed":[],"modified":["frontend/Dockerfile"]}],"total_commits":0,"head_commit":{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\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/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","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-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.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":3553340,"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-03-31T19:44:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1775067061
|
1775067122
|
0
|
1775066751
|
1775068309
|
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
|
|
10528
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
e2e-tests.yml
|
10452
|
5
|
0
|
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"}}...
|
push
|
2
|
20
|
1775097114
|
1775097303
|
0
|
1775097114
|
1775098414
|
|
|
0
|
Edit
Delete
|
|
10529
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
test-pipeline.yml
|
10453
|
5
|
0
|
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"}}...
|
push
|
2
|
68
|
1775097304
|
1775097365
|
0
|
1775097115
|
1775098674
|
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
|
|
10813
|
feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)
|
6
|
5
|
e2e-tests.yml
|
10737
|
5
|
0
|
refs/heads/main
|
40dae5944f158653af8288a3f38b6c97e8ce9f06
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"624893ef324e57874ecb721dfd5539eb58d49b8e","after":"40dae5944f158653af8288a3f38b6c97e8ce9f06","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/624893ef324e57874ecb721dfd5539eb58d49b8e...40dae5944f158653af8288a3f38b6c97e8ce9f06","commits":[{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},{"id":"588c47ea1f151f20d7e919cd87a5b07385b02022","message":"chore: 将 .env.production 加入 .gitignore 防止密钥泄露\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/588c47ea1f151f20d7e919cd87a5b07385b02022","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:47:51Z","added":[],"removed":[],"modified":[".gitignore"]},{"id":"3b9130b7e0040b49d5bc08307c9e050175994903","message":"feat: 单机 Docker 生产部署成功 - 全套本地构建方案\n\n新增本地部署配套文件:\n- docker-compose.local-prod.yml: 本地单机生产编排(pgvector + apache/kafka + minio + api + frontend + nginx)\n- backend/Dockerfile.local: 后端本地构建镜像(tsx 运行源码,避免路径别名问题)\n- frontend/Dockerfile.local: 前端本地构建镜像\n- .dockerignore.local: 本地构建专用忽略规则(保留 dist/node_modules)\n\n修改:\n- backend/prisma/schema/_base.prisma: 添加 binaryTargets linux-musl-openssl-3.0.x(Alpine 容器支持)\n\n部署验证通过:\n- PostgreSQL (pgvector:pg16) + Redis + Kafka + MinIO + API + Frontend + Nginx 全部在线\n- 135+ 数据库迁移全部应用成功\n- API /health 返回 {\"status\":\"ok\"}\n- Nginx HTTP→HTTPS 重定向正常,SSL 自签名证书工作\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3b9130b7e0040b49d5bc08307c9e050175994903","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:46:47Z","added":[".dockerignore.local","backend/Dockerfile.local","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":["backend/prisma/schema/_base.prisma"]},{"id":"a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","message":"chore: 部署准备 - 补齐 deploy/ssl 目录 + 修复 fast-xml-parser 缺失依赖\n\n- 创建 deploy/ssl/.gitkeep,确保 Nginx 生产环境 SSL 挂载目录存在\n- 添加 fast-xml-parser 依赖,修复微信企业号 webhook 模块的类型错误\n- 后端 tsc 0 错误 / 前端 vue-tsc 0 错误,类型检查双清零\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:04:59Z","added":["deploy/ssl/.gitkeep"],"removed":[],"modified":["backend/package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},"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":5204315,"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-02T10:31:56+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1775180411
|
1775181235
|
0
|
1775180411
|
1775184778
|
|
|
0
|
Edit
Delete
|
|
10814
|
feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)
|
6
|
5
|
test-pipeline.yml
|
10738
|
5
|
0
|
refs/heads/main
|
40dae5944f158653af8288a3f38b6c97e8ce9f06
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"624893ef324e57874ecb721dfd5539eb58d49b8e","after":"40dae5944f158653af8288a3f38b6c97e8ce9f06","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/624893ef324e57874ecb721dfd5539eb58d49b8e...40dae5944f158653af8288a3f38b6c97e8ce9f06","commits":[{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},{"id":"588c47ea1f151f20d7e919cd87a5b07385b02022","message":"chore: 将 .env.production 加入 .gitignore 防止密钥泄露\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/588c47ea1f151f20d7e919cd87a5b07385b02022","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:47:51Z","added":[],"removed":[],"modified":[".gitignore"]},{"id":"3b9130b7e0040b49d5bc08307c9e050175994903","message":"feat: 单机 Docker 生产部署成功 - 全套本地构建方案\n\n新增本地部署配套文件:\n- docker-compose.local-prod.yml: 本地单机生产编排(pgvector + apache/kafka + minio + api + frontend + nginx)\n- backend/Dockerfile.local: 后端本地构建镜像(tsx 运行源码,避免路径别名问题)\n- frontend/Dockerfile.local: 前端本地构建镜像\n- .dockerignore.local: 本地构建专用忽略规则(保留 dist/node_modules)\n\n修改:\n- backend/prisma/schema/_base.prisma: 添加 binaryTargets linux-musl-openssl-3.0.x(Alpine 容器支持)\n\n部署验证通过:\n- PostgreSQL (pgvector:pg16) + Redis + Kafka + MinIO + API + Frontend + Nginx 全部在线\n- 135+ 数据库迁移全部应用成功\n- API /health 返回 {\"status\":\"ok\"}\n- Nginx HTTP→HTTPS 重定向正常,SSL 自签名证书工作\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3b9130b7e0040b49d5bc08307c9e050175994903","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:46:47Z","added":[".dockerignore.local","backend/Dockerfile.local","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":["backend/prisma/schema/_base.prisma"]},{"id":"a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","message":"chore: 部署准备 - 补齐 deploy/ssl 目录 + 修复 fast-xml-parser 缺失依赖\n\n- 创建 deploy/ssl/.gitkeep,确保 Nginx 生产环境 SSL 挂载目录存在\n- 添加 fast-xml-parser 依赖,修复微信企业号 webhook 模块的类型错误\n- 后端 tsc 0 错误 / 前端 vue-tsc 0 错误,类型检查双清零\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:04:59Z","added":["deploy/ssl/.gitkeep"],"removed":[],"modified":["backend/package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},"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":5204315,"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-02T10:31:56+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
3
|
24
|
0
|
1775180537
|
0
|
1775180412
|
1775180540
|
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
|
|
10815
|
Merge remote-tracking branch 'origin/codex/fin Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'...
|
6
|
5
|
e2e-tests.yml
|
10739
|
5
|
0
|
refs/heads/main
|
9d69e1960ec649a49c0c6f307c0fc197f47ee4c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"40dae5944f158653af8288a3f38b6c97e8ce9f06","after":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","commits":[{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","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-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},{"id":"0152aae7b8ff9440c5f4e7aad113420208e6c304","message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0152aae7b8ff9440c5f4e7aad113420208e6c304","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-03T09:41:05+08:00","added":[],"removed":[],"modified":[]},{"id":"e2587fae3d50e6ef7c30450199abd1bfc910a016","message":"test(finance): add finance mainline smoke and harden invoice detail formatting","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e2587fae3d50e6ef7c30450199abd1bfc910a016","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-31T13:47:05+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["frontend/src/views/invoices/Detail.vue"]},{"id":"803578ebec2d6f4c0d00335c1f5c61067112d923","message":"feat(e2e): add playwright agent mvp skeleton","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/803578ebec2d6f4c0d00335c1f5c61067112d923","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-19T19:55:36+08:00","added":["e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]}],"total_commits":0,"head_commit":{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","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-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},"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":5204515,"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-03T09:40:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1775181236
|
1775183619
|
0
|
1775180536
|
1775185999
|
|
|
0
|
Edit
Delete
|
|
10817
|
Merge remote-tracking branch 'origin/codex/fin Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'...
|
6
|
5
|
test-pipeline.yml
|
10740
|
5
|
0
|
refs/heads/main
|
9d69e1960ec649a49c0c6f307c0fc197f47ee4c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"40dae5944f158653af8288a3f38b6c97e8ce9f06","after":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","commits":[{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","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-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},{"id":"0152aae7b8ff9440c5f4e7aad113420208e6c304","message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0152aae7b8ff9440c5f4e7aad113420208e6c304","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-03T09:41:05+08:00","added":[],"removed":[],"modified":[]},{"id":"e2587fae3d50e6ef7c30450199abd1bfc910a016","message":"test(finance): add finance mainline smoke and harden invoice detail formatting","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e2587fae3d50e6ef7c30450199abd1bfc910a016","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-31T13:47:05+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["frontend/src/views/invoices/Detail.vue"]},{"id":"803578ebec2d6f4c0d00335c1f5c61067112d923","message":"feat(e2e): add playwright agent mvp skeleton","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/803578ebec2d6f4c0d00335c1f5c61067112d923","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-19T19:55:36+08:00","added":["e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]}],"total_commits":0,"head_commit":{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","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-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},"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":5204515,"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-03T09:40:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
1775183622
|
1775184730
|
0
|
1775180541
|
1775186341
|
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
|
|
10823
|
Prepare v1.0.0 release
|
6
|
5
|
deploy.yml
|
10747
|
5
|
0
|
refs/tags/v1.0.0
|
bd59e5501292cb061719f669c7a7b7afd4f1a0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.0.0","bef {"ref":"refs/tags/v1.0.0","before":"0000000000000000000000000000000000000000","after":"e1e571dea3e53faf951b331ac647da4b96e0d01b","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...e1e571dea3e53faf951b331ac647da4b96e0d01b","commits":[],"total_commits":0,"head_commit":{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},"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":5204580,"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-03T09:42:23+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
22
|
1775184783
|
1775185807
|
0
|
1775181685
|
1775186344
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/tags/v1.0.0
|
0
|
Edit
Delete
|
|
10824
|
Release(v1.0.0-RC1): 巨嗨全域智库 1.0.0 封版交付
|
6
|
5
|
deploy.yml
|
10748
|
5
|
0
|
refs/tags/v1.0.0-RC1
|
84c900df1e544e4eb7070be9278918676c4aec69
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.0.0-RC1"," {"ref":"refs/tags/v1.0.0-RC1","before":"0000000000000000000000000000000000000000","after":"7f6c4805d0719ce236bfd86ac50cc40cc6f5e5c5","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...7f6c4805d0719ce236bfd86ac50cc40cc6f5e5c5","commits":[],"total_commits":0,"head_commit":{"id":"84c900df1e544e4eb7070be9278918676c4aec69","message":"Release(v1.0.0-RC1): 巨嗨全域智库 1.0.0 封版交付\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/84c900df1e544e4eb7070be9278918676c4aec69","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-04T17:53:20+08:00","added":["docs/RELEASE_NOTE_v1.0.0.md"],"removed":[],"modified":[]},"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":5204580,"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":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-03T09:42:23+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":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
|
22
|
1775185809
|
1775185982
|
0
|
1775181686
|
1775186346
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/tags/v1.0.0-RC1
|
0
|
Edit
Delete
|
|
45
|
feat: 新增门店管理模块,补充门店维度营销分析端点
|
6
|
5
|
health-check.yml
|
6
|
-2
|
3
|
refs/heads/main
|
89209aba1afe21133399ce0db0a47c2729c9a4b4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"abd8cdd0283c96dc4a62fbf753d2aca2e68aa379","after":"89209aba1afe21133399ce0db0a47c2729c9a4b4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/abd8cdd0283c96dc4a62fbf753d2aca2e68aa379...89209aba1afe21133399ce0db0a47c2729c9a4b4","commits":[{"id":"89209aba1afe21133399ce0db0a47c2729c9a4b4","message":"feat: 新增门店管理模块,补充门店维度营销分析端点\n\n一、门店管理模块 (stores)\n- 门店 CRUD:创建、更新、删除、状态管理\n- 门店类型:旗舰店、标准店、加盟店、合作店、迷你店、快闪店\n- 状态机:pending → active → suspended/renovating → closed\n\n二、门店维度营销分析端点\n- GET /stores/:id/marketing-analytics - 门店营销分析(活动、直播、团购、订单汇总)\n- GET /stores/:id/roi-analytics - 门店 ROI 分析(投入产出比、渠道分解、同比环比)\n- GET /stores/:id/livestream-stats - 门店直播统计(场次、时长、观众、GMV)\n- GET /stores/:id/campaigns - 门店活动列表\n\n三、门店对比和排行\n- POST /stores/compare - 多门店横向对比\n- GET /stores/ranking - 门店排行榜(营收、订单、评分、直播GMV)\n\n四、门店营销配置\n- PATCH /stores/:id/marketing-config - 团购/直播/促销开关、平台配置、预算设置\n\n五、前端 API 模块\n- stores.ts:完整类型定义 + API 封装 + 状态配置 + 工具函数\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89209aba1afe21133399ce0db0a47c2729c9a4b4","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:36:12Z","added":["backend/src/modules/stores/index.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/stores/store.service.ts","frontend/src/api/modules/stores.ts"],"removed":[],"modified":["backend/src/shared/constants/modules.ts"]},{"id":"bd02a7f3eefc8d114499177151ddde0a410c4065","message":"feat: 完善 KTV 智慧营销域模块代码实现 - 19个后端模块 + 19个前端API模块\n\n一、分析类模块 (3个)\n- social-analytics: 社交媒体分析(账号概览、内容表现、粉丝画像、竞品对比、趋势分析)\n- content-analytics: 内容分析(表现概览、热门内容、分类表现、发布时间分析)\n- livestream-gifts: 直播礼物(礼物配置、赠送记录、礼物统计、排行榜)\n\n二、商家联盟域模块 (5个)\n- alliance-partners: 联盟商家(入驻审核、等级管理、状态机驱动)\n- alliance-agreements: 联盟协议(协议模板、审批流、续签终止)\n- alliance-campaigns: 联盟活动(多商家参与、效果追踪、奖励配置)\n- alliance-coupons: 联盟优惠券(发放核销、成本分摊、使用规则)\n- alliance-packages: 联盟套餐(多商家组合、分成模式、有效期管理)\n\n三、社群运营域模块 (4个)\n- community-materials: 社群素材(素材库、审核流程、使用追踪)\n- community-tasks: 社群任务(任务配置、执行管理、状态机驱动)\n- community-fission: 社群裂变(邀请奖励、拼团助力、排行榜)\n- community-bots: 社群机器人(多平台支持、自动回复、消息日志)\n\n四、团购运营域模块 (7个)\n- groupbuy-platforms: 团购平台(平台接入、同步配置、对账管理)\n- groupbuy-promotions: 团购促销(促销配置、状态管理、批量操作)\n- groupbuy-inventory: 团购库存(库存管理、预警机制、调拨盘点)\n- groupbuy-redemptions: 团购核销(券码验证、核销记录、统计分析)\n- groupbuy-reviews: 团购评价(评价管理、商家回复、审核分析)\n- groupbuy-commissions: 团购佣金(佣金规则、结算审批、对账报表)\n- groupbuy-influencers: 团购达人(招募审核、等级体系、带货数据)\n\n技术规范:\n- 后端:5层标准结构(schema/service/controller/routes/index)\n- 前端:完整 TypeScript 类型定义 + API 封装\n- 严格遵循8条开发红线(多租户隔离、状态机、事件驱动等)\n\n文件统计:\n- 后端模块:19个目录,95个文件\n- 前端API:19个TypeScript模块,总计约10,000+行代码\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd02a7f3eefc8d114499177151ddde0a410c4065","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:21:51Z","added":["backend/src/modules/alliance-agreements/alliance-agreement.controller.ts","backend/src/modules/alliance-agreements/alliance-agreement.routes.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-agreements/alliance-agreement.service.ts","backend/src/modules/alliance-agreements/index.ts","backend/src/modules/alliance-campaigns/alliance-campaign.controller.ts","backend/src/modules/alliance-campaigns/alliance-campaign.routes.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-campaigns/index.ts","backend/src/modules/alliance-coupons/alliance-coupon.controller.ts","backend/src/modules/alliance-coupons/alliance-coupon.routes.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.service.ts","backend/src/modules/alliance-coupons/index.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/alliance-packages/alliance-package.routes.ts","backend/src/modules/alliance-packages/alliance-package.schema.ts","backend/src/modules/alliance-packages/alliance-package.service.ts","backend/src/modules/alliance-packages/index.ts","backend/src/modules/alliance-partners/alliance-partner.controller.ts","backend/src/modules/alliance-partners/alliance-partner.routes.ts","backend/src/modules/alliance-partners/alliance-partner.schema.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-partners/index.ts","backend/src/modules/community-bots/community-bot.controller.ts","backend/src/modules/community-bots/community-bot.routes.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-bots/community-bot.service.ts","backend/src/modules/community-bots/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.routes.ts","backend/src/modules/community-fission/community-fission.schema.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/community-fission/index.ts","backend/src/modules/community-materials/community-material.controller.ts","backend/src/modules/community-materials/community-material.routes.ts","backend/src/modules/community-materials/community-material.schema.ts","backend/src/modules/community-materials/community-material.service.ts","backend/src/modules/community-materials/index.ts","backend/src/modules/community-tasks/community-task.controller.ts","backend/src/modules/community-tasks/community-task.routes.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/community-tasks/community-task.service.ts","backend/src/modules/community-tasks/index.ts","backend/src/modules/content-analytics/content-analytics.controller.ts","backend/src/modules/content-analytics/content-analytics.routes.ts","backend/src/modules/content-analytics/content-analytics.schema.ts","backend/src/modules/content-analytics/content-analytics.service.ts","backend/src/modules/content-analytics/index.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.controller.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.routes.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.schema.ts","backend/src/modules/groupbuy-commissions/groupbuy-commission.service.ts","backend/src/modules/groupbuy-commissions/index.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.controller.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.routes.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.service.ts","backend/src/modules/groupbuy-influencers/index.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.controller.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.routes.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.schema.ts","backend/src/modules/groupbuy-inventory/groupbuy-inventory.service.ts","backend/src/modules/groupbuy-inventory/index.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.controller.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.routes.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.schema.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.service.ts","backend/src/modules/groupbuy-platforms/index.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.controller.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.routes.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-promotions/index.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.controller.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.routes.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.schema.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/groupbuy-redemptions/index.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.controller.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.routes.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.schema.ts","backend/src/modules/groupbuy-reviews/groupbuy-review.service.ts","backend/src/modules/groupbuy-reviews/index.ts","backend/src/modules/livestream-gifts/index.ts","backend/src/modules/livestream-gifts/livestream-gifts.controller.ts","backend/src/modules/livestream-gifts/livestream-gifts.routes.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.service.ts","backend/src/modules/social-analytics/index.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.routes.ts","backend/src/modules/social-analytics/social-analytics.schema.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-campaigns.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-fission.ts","frontend/src/api/modules/community-materials.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/groupbuy-commissions.ts","frontend/src/api/modules/groupbuy-influencers.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/groupbuy-redemptions.ts","frontend/src/api/modules/groupbuy-reviews.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/social-analytics.ts"],"removed":[],"modified":[]},{"id":"5c0e2a9ccc614bb1dac8ed3875f4eeddb1bed80d","message":"feat: 完善 modules.ts 模块元数据定义,覆盖全部142个已部署模块\n\n主要变更:\n1. 新增 ModuleCategory 类型:\n - hr (人力资源域)\n - marketing-customer (营销客户维度)\n - ktv-content, ktv-social, ktv-geo, ktv-adflow, ktv-livestream, ktv-alliance, ktv-community, ktv-groupbuy (KTV智慧营销域)\n\n2. 补充缺失的模块定义:\n - 营销客户维度:campaign-targets, segments, customer-marketing\n - 系统核心模块:auth, scheduled-jobs, event-logs, event-subscriptions, realtime, ai-copilot\n - 服务域:service, service-monitor\n - 履约域:maintenance, workflow-generator\n - 财务域:customer-profit\n - HR域:hr\n\n3. 新增KTV智慧营销域模块(未来规划):\n - 内容管理、社交媒体、GEO优化、投流管理、直播运营、商家联盟、社群运营、团购运营等34个模块\n\n4. 清理重复模块定义:\n - 删除 users, roles, departments, notifications, files, events, approvals, analytics, dashboard, reports, im 的重复定义\n\n模块统计:\n- 已部署模块:142个(全部覆盖)\n- 总定义模块:176个(含34个未来规划模块)\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5c0e2a9ccc614bb1dac8ed3875f4eeddb1bed80d","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T06:14:38Z","added":[],"removed":[],"modified":["backend/src/shared/constants/modules.ts"]},{"id":"b7ed9e35d5ce2b9182dd507c95aa9c675335c3b3","message":"feat: 营销模块客户/门店维度增强 - 活动定向、客户分群、营销分析\n\n核心功能:\n- 新增4个数据库表:campaign_targets、audience_segments、segment_members、campaign_performance\n- 新增3个后端模块:campaign-targets(活动定向)、segments(客户分群)、customer-marketing(营销分析)\n- 新增3个前端API模块,包含完整类型定义和工具函数\n- 新增18个权限配置,归入营销客户维度分组\n\n技术亮点:\n- 分群状态机:draft → active → paused → archived\n- 营销衍生指标:CTR、CVR、ROI、CPA、ROAS 自动计算\n- 多维度分析:客户、门店、活动、分群四个维度\n- 严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b7ed9e35d5ce2b9182dd507c95aa9c675335c3b3","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T06:00:53Z","added":["backend/src/modules/campaign-targets/index.ts","backend/src/modules/customer-marketing/index.ts","backend/src/modules/segments/index.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/segments.ts"],"removed":[],"modified":["backend/prisma/schema.prisma","backend/src/main.ts","backend/src/shared/constants/permissions.ts"]},{"id":"fb6039939f7601cf35179127a6b8205e787342aa","message":"feat: 完善社交账号、广告人群、广告报表等6个核心模块,严格遵循8条开发红线\n\n完善模块:\n- social-accounts: 8平台账号授权、数据同步、指标追踪、健康度评估\n- social-interactions: 6种互动类型、4种状态、情感分析、自动回复\n- livestream-analytics: 10+分析维度、房间/商品/主播/话术效果分析\n- livestream-scripts: 7种话术类型、6种场景、AI生成优化、结构化模板\n- ad-audiences: 6种人群类型、6种数据源、相似人群、规则验证\n- ad-reports: 8种报表API、10种指标计算、预算预警、效果建议\n\n特性:\n- 状态机驱动:所有状态变更通过POST动作接口\n- 类型安全:禁用any,完整类型定义与后端严格匹配\n- 四层架构:智库层/数链层/SOP层/IM层交互文档\n- 工具函数:格式化、验证、健康度计算、图表数据生成\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb6039939f7601cf35179127a6b8205e787342aa","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T05:02:28Z","added":[],"removed":[],"modified":["frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/livestream-analytics.ts","frontend/src/api/modules/livestream-scripts.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-interactions.ts"]}],"total_commits":0,"head_commit":{"id":"89209aba1afe21133399ce0db0a47c2729c9a4b4","message":"feat: 新增门店管理模块,补充门店维度营销分析端点\n\n一、门店管理模块 (stores)\n- 门店 CRUD:创建、更新、删除、状态管理\n- 门店类型:旗舰店、标准店、加盟店、合作店、迷你店、快闪店\n- 状态机:pending → active → suspended/renovating → closed\n\n二、门店维度营销分析端点\n- GET /stores/:id/marketing-analytics - 门店营销分析(活动、直播、团购、订单汇总)\n- GET /stores/:id/roi-analytics - 门店 ROI 分析(投入产出比、渠道分解、同比环比)\n- GET /stores/:id/livestream-stats - 门店直播统计(场次、时长、观众、GMV)\n- GET /stores/:id/campaigns - 门店活动列表\n\n三、门店对比和排行\n- POST /stores/compare - 多门店横向对比\n- GET /stores/ranking - 门店排行榜(营收、订单、评分、直播GMV)\n\n四、门店营销配置\n- PATCH /stores/:id/marketing-config - 团购/直播/促销开关、平台配置、预算设置\n\n五、前端 API 模块\n- stores.ts:完整类型定义 + API 封装 + 状态配置 + 工具函数\n\n严格遵循8条开发红线\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89209aba1afe21133399ce0db0a47c2729c9a4b4","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-01-11T07:36:12Z","added":["backend/src/modules/stores/index.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/stores/store.service.ts","frontend/src/api/modules/stores.ts"],"removed":[],"modified":["backend/src/shared/constants/modules.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":9503,"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-02-23T23:59:28+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
|
1771862496
|
1771862496
|
0
|
1771862410
|
1771862496
|
NULL
|
|
0
|
Edit
Delete
|
|
55
|
Update predictive and RFM modules
|
6
|
5
|
health-check.yml
|
16
|
-2
|
11
|
refs/heads/main
|
7145a8553a880d8a94356baf7bcb4e2df4631e61
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8adeb7142f7f1b57a10bfffc3de856524997227","after":"7145a8553a880d8a94356baf7bcb4e2df4631e61","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8adeb7142f7f1b57a10bfffc3de856524997227...7145a8553a880d8a94356baf7bcb4e2df4631e61","commits":[{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},{"id":"0f2d9c3835013e4d3629614ecd18a44606763f27","message":"Review analytics module updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0f2d9c3835013e4d3629614ecd18a44606763f27","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:49:16+08:00","added":["backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/campaign-analytics/campaign-analytics.docs.ts","backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/campaign-analytics/campaign-analytics.service.ts","backend/src/modules/channel-analytics/channel-analytics.controller.ts","backend/src/modules/channel-analytics/channel-analytics.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channel-analytics/channel-analytics.service.ts","backend/src/modules/cohort-analysis/cohort-analysis.controller.ts","backend/src/modules/cohort-analysis/cohort-analysis.docs.ts","backend/src/modules/cohort-analysis/cohort-analysis.schema.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.controller.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.docs.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.schema.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.ts","backend/src/modules/cost-allocation/cost-allocation.controller.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cost-allocation/cost-allocation.schema.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.controller.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.docs.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.schema.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.controller.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.docs.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.schema.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.controller.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.docs.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.schema.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.ts","backend/src/modules/customer-ltv/customer-ltv.controller.ts","backend/src/modules/customer-ltv/customer-ltv.docs.ts","backend/src/modules/customer-ltv/customer-ltv.schema.ts","backend/src/modules/customer-ltv/customer-ltv.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.docs.ts","backend/src/modules/dimension-transform/dimension-transform.schema.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.docs.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.schema.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/mdm/mdm.docs.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.schema.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.docs.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.schema.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.controller.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.docs.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.schema.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/positions/positions.docs.ts","backend/src/modules/positions/positions.schema.ts","backend/src/modules/positions/positions.service.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.controller.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime-trigger/realtime-trigger.schema.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts","backend/src/modules/supplier-payments/supplier-payments.controller.ts","backend/src/modules/supplier-payments/supplier-payments.docs.ts","backend/src/modules/supplier-payments/supplier-payments.schema.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts"],"removed":[],"modified":["docs/ACTION-PLAN-2026.md","docs/ROADMAP_2026_Q1.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"9675324a5bbabd31646b05a46b9ccea1f19bbfb9","message":"Review backend and docs updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9675324a5bbabd31646b05a46b9ccea1f19bbfb9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:29:08+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","message":"Review recent docs and service edits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:16:16+08:00","added":[],"removed":[],"modified":["backend/src/modules/campaigns/campaign-effectiveness.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","message":"Summarize backend doc updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:12:40+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/im/im.service.ts","backend/src/modules/inventory/services/inventory-export.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/livestream/livestream.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]}],"total_commits":0,"head_commit":{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":31473,"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-02-24T00:01:59+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
|
1771862766
|
1771862767
|
0
|
1771862710
|
1771862767
|
NULL
|
|
0
|
Edit
Delete
|
|
66
|
Fix e2e timeout failures in business
|
6
|
5
|
health-check.yml
|
27
|
-2
|
21
|
refs/heads/main
|
546659ec60e857bdf77619972d1b3e4333b621ac
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4e9a26e0e1c15538f2a6f033748340bb62b02af2","after":"546659ec60e857bdf77619972d1b3e4333b621ac","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/4e9a26e0e1c15538f2a6f033748340bb62b02af2...546659ec60e857bdf77619972d1b3e4333b621ac","commits":[{"id":"546659ec60e857bdf77619972d1b3e4333b621ac","message":"Fix e2e timeout failures in business\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/546659ec60e857bdf77619972d1b3e4333b621ac","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:47:47+08:00","added":[],"removed":["e2e/playwright-report/data/512a8834d5f08d119fe44c5406f8f7b90c325900.png","e2e/playwright-report/data/5e84b497e5e6a5067f6b68414b2858576c91c6de.png","e2e/playwright-report/data/756cf89caac3dbbaf66ae5a4fece9488c4a42525.png","e2e/playwright-report/data/822a0a09c9b863d07c83467a99efb1337ffd0cac.png","e2e/playwright-report/data/92ffd60eca3e883a7e21500e5fdf92f7880e0ea8.md","e2e/playwright-report/data/aab2a6ce8f585d43bfae98f67d618f9e62590d16.png","e2e/playwright-report/data/bc1bd2948dfc983ce38f14632ed16f0dcb23b7eb.png","e2e/playwright-report/data/c480ca7b102943634bceabd2605376dc4358b2e2.png","e2e/playwright-report/data/e4a07244821da8bc81a5c72ff2bc44138444e25c.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/test-failed-1.png"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/permissions/role-based-access.spec.ts","e2e/tests/state-machines/lead-state-transitions.spec.ts"]},{"id":"1b8bb5fb6f26c34b2e8b8ef0034ba5abad85b778","message":"Fix contract signing flow timeouts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b8bb5fb6f26c34b2e8b8ef0034ba5abad85b778","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:43:58+08:00","added":["e2e/playwright-report/data/512a8834d5f08d119fe44c5406f8f7b90c325900.png","e2e/playwright-report/data/5e84b497e5e6a5067f6b68414b2858576c91c6de.png","e2e/playwright-report/data/756cf89caac3dbbaf66ae5a4fece9488c4a42525.png","e2e/playwright-report/data/822a0a09c9b863d07c83467a99efb1337ffd0cac.png","e2e/playwright-report/data/92ffd60eca3e883a7e21500e5fdf92f7880e0ea8.md","e2e/playwright-report/data/aab2a6ce8f585d43bfae98f67d618f9e62590d16.png","e2e/playwright-report/data/bc1bd2948dfc983ce38f14632ed16f0dcb23b7eb.png","e2e/playwright-report/data/c480ca7b102943634bceabd2605376dc4358b2e2.png","e2e/playwright-report/data/e4a07244821da8bc81a5c72ff2bc44138444e25c.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/48dc2931f6ad03bf1647af865b67316ecb95db29.png","e2e/playwright-report/data/a91972eeb28938ca920219ffb692b40b4d87cfc1.png","e2e/playwright-report/data/b49e78f3b0aa576dea32b81ce579c24446839693.md","e2e/test-results/.last-run.json","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/error-context.md","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-2.png","e2e/test-results/results.json"],"modified":["backend/src/shared/services/encryption.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/state-machines/lead-state-transitions.spec.ts"]},{"id":"5bbca50424a2b46f75580225a21e3598d47f2599","message":"Fix 合同签署流程超时失败」} PMID correction? I\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bbca50424a2b46f75580225a21e3598d47f2599","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:32:53+08:00","added":["e2e/playwright-report/data/48dc2931f6ad03bf1647af865b67316ecb95db29.png","e2e/playwright-report/data/a91972eeb28938ca920219ffb692b40b4d87cfc1.png","e2e/playwright-report/data/b49e78f3b0aa576dea32b81ce579c24446839693.md"],"removed":["e2e/playwright-report/data/01c5544c07f97d03e132ab644a39892558530756.png","e2e/playwright-report/data/1e3bff6e21388ee6ae55d738136b0ebd14242762.png","e2e/playwright-report/data/1e8647e191347d8c0be54fe12399779ecb265681.md","e2e/playwright-report/data/2c1ff274bc98d00754507d0e6c3f19f6ab740273.png","e2e/playwright-report/data/5b49a7322fede55376a86d603c2f78b6d958e16a.md","e2e/playwright-report/data/808cd0daba52b1aebec71ffbb3c5923b80c8eef6.png","e2e/playwright-report/data/86ecef0599c45b85e0a258783649deb03135e794.png","e2e/playwright-report/data/9bc189bebbd446b4c6d2b9e754d2c807cae8ac88.md","e2e/playwright-report/data/9c7b2cc08b528e57678bf86499406191c21c8c24.png","e2e/playwright-report/data/b0ca7d1de835a657f38fb2fad0966eda01bb75c2.png","e2e/playwright-report/data/b670bed2e7301e04c793e1f8c70507a67c12e8eb.md","e2e/playwright-report/data/bd80a896165071be262938eeb606833d291f0b79.md","e2e/playwright-report/data/c7deca52e3a9dd3b16af1b037e4c19aed3778659.png","e2e/playwright-report/data/dd673f0b7b80dc4b4ee837092ee6bf2b7f0b1b62.png","e2e/playwright-report/data/ece5ae700e0c1a9afb38a197d9bf430b7cd67a8c.md","e2e/playwright-report/data/f7fe6998814c22457ef676632613e18a7619d059.md","e2e/playwright-report/data/f9efc8470e821caa5b3dc5ffa81a46a782e548d6.png","e2e/test-results/business-flows-contract-si-28626-签署流程-E2E-测试-权限测试:销售专员无法审批合同-chromium/error-context.md","e2e/test-results/business-flows-contract-si-28626-签署流程-E2E-测试-权限测试:销售专员无法审批合同-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-51110--合同签署流程-E2E-测试-合同续签流程:到期前续签-chromium/error-context.md","e2e/test-results/business-flows-contract-si-51110--合同签署流程-E2E-测试-合同续签流程:到期前续签-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/error-context.md","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-2.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-3.png","e2e/test-results/business-flows-contract-si-a11ed-签署流程-E2E-测试-合同终止流程:生效中-→-终止-chromium/error-context.md","e2e/test-results/business-flows-contract-si-a11ed-签署流程-E2E-测试-合同终止流程:生效中-→-终止-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-bed52-E-测试-合同激活-→-订单生成-→-权益激活完整链路-chromium/error-context.md","e2e/test-results/business-flows-contract-si-bed52-E-测试-合同激活-→-订单生成-→-权益激活完整链路-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-e6f49-合同签署流程-E2E-测试-双审批流程:法务-财务审批-chromium/error-context.md","e2e/test-results/business-flows-contract-si-e6f49-合同签署流程-E2E-测试-双审批流程:法务-财务审批-chromium/test-failed-1.png"],"modified":["e2e/.auth/admin.json","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/error-context.md","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-2.png","e2e/test-results/results.json","e2e/tests/business-flows/contract-signing-flow.spec.ts"]},{"id":"6ed44eeae0cc3408bafde02ef9a6987230bb423f","message":"Fix contract signing flow timeout\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6ed44eeae0cc3408bafde02ef9a6987230bb423f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:06:50+08:00","added":["e2e/playwright-report/data/01c5544c07f97d03e132ab644a39892558530756.png","e2e/playwright-report/data/1e3bff6e21388ee6ae55d738136b0ebd14242762.png","e2e/playwright-report/data/1e8647e191347d8c0be54fe12399779ecb265681.md","e2e/playwright-report/data/2c1ff274bc98d00754507d0e6c3f19f6ab740273.png","e2e/playwright-report/data/5b49a7322fede55376a86d603c2f78b6d958e16a.md","e2e/playwright-report/data/808cd0daba52b1aebec71ffbb3c5923b80c8eef6.png","e2e/playwright-report/data/86ecef0599c45b85e0a258783649deb03135e794.png","e2e/playwright-report/data/9bc189bebbd446b4c6d2b9e754d2c807cae8ac88.md","e2e/playwright-report/data/9c7b2cc08b528e57678bf86499406191c21c8c24.png","e2e/playwright-report/data/b0ca7d1de835a657f38fb2fad0966eda01bb75c2.png","e2e/playwright-report/data/b670bed2e7301e04c793e1f8c70507a67c12e8eb.md","e2e/playwright-report/data/bd80a896165071be262938eeb606833d291f0b79.md","e2e/playwright-report/data/c7deca52e3a9dd3b16af1b037e4c19aed3778659.png","e2e/playwright-report/data/dd673f0b7b80dc4b4ee837092ee6bf2b7f0b1b62.png","e2e/playwright-report/data/ece5ae700e0c1a9afb38a197d9bf430b7cd67a8c.md","e2e/playwright-report/data/f7fe6998814c22457ef676632613e18a7619d059.md","e2e/playwright-report/data/f9efc8470e821caa5b3dc5ffa81a46a782e548d6.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":["e2e/playwright-report/data/0356a236f837a3985fb99f2003f15bc22578fa09.png","e2e/playwright-report/data/0a2db2cad27f229619558b270dff99d6805712a2.md","e2e/playwright-report/data/1574ab1df75ae3b0d740ab533a4609424746c549.png","e2e/playwright-report/data/245a1b25080abc239936461f2bb7e40d74bd5c73.md","e2e/playwright-report/data/24b87d784b823f08b7196c1a415e33b385dd3c8e.png","e2e/playwright-report/data/2ad9df6c76ce3aa0f1b6add71f016f936cb7c6ea.png","e2e/playwright-report/data/4684d4f88f38fd01d85a0d77047b35286376a8fd.png","e2e/playwright-report/data/4da5736930ddbfb78341f344842f6db0ec3eaced.md","e2e/playwright-report/data/51102b9d0bc0912f8733e17110bc2db8c32e60ac.png","e2e/playwright-report/data/6fa7e7b1fb072546eb4cb098d02ae61f8bb4f1c8.md","e2e/playwright-report/data/8eaba0371c15aa9801aa5723d04e6d11640e8ee4.png","e2e/playwright-report/data/b350d581b8cf27c2d27956631afad495301dc8fc.png","e2e/playwright-report/data/e2a4cf0199da1869c6f81830445be797a172b67e.md","e2e/playwright-report/data/e75f92bf420a837d0cbe84ee79f61b5326c9bea1.png","e2e/test-results/.playwright-artifacts-1/1105e1e235d62ac9107b1c0bf9a2526b.png","e2e/test-results/.playwright-artifacts-1/840afe4772661e84fbc166314e02d410.png","e2e/test-results/.playwright-artifacts-1/c771f6e47c260915d3f3f21195fe24d4.png"],"modified":["e2e/playwright-report/index.html"]},{"id":"e42d979f587f47754c40e56d87cb2e5afed8d6e9","message":"Fix contract signing flow timeouts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e42d979f587f47754c40e56d87cb2e5afed8d6e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:05:41+08:00","added":["e2e/playwright-report/data/0356a236f837a3985fb99f2003f15bc22578fa09.png","e2e/playwright-report/data/0a2db2cad27f229619558b270dff99d6805712a2.md","e2e/playwright-report/data/1574ab1df75ae3b0d740ab533a4609424746c549.png","e2e/playwright-report/data/245a1b25080abc239936461f2bb7e40d74bd5c73.md","e2e/playwright-report/data/24b87d784b823f08b7196c1a415e33b385dd3c8e.png","e2e/playwright-report/data/2ad9df6c76ce3aa0f1b6add71f016f936cb7c6ea.png","e2e/playwright-report/data/4684d4f88f38fd01d85a0d77047b35286376a8fd.png","e2e/playwright-report/data/4da5736930ddbfb78341f344842f6db0ec3eaced.md","e2e/playwright-report/data/51102b9d0bc0912f8733e17110bc2db8c32e60ac.png","e2e/playwright-report/data/6fa7e7b1fb072546eb4cb098d02ae61f8bb4f1c8.md","e2e/playwright-report/data/8eaba0371c15aa9801aa5723d04e6d11640e8ee4.png","e2e/playwright-report/data/b350d581b8cf27c2d27956631afad495301dc8fc.png","e2e/playwright-report/data/e2a4cf0199da1869c6f81830445be797a172b67e.md","e2e/playwright-report/data/e75f92bf420a837d0cbe84ee79f61b5326c9bea1.png","e2e/test-results/.playwright-artifacts-1/1105e1e235d62ac9107b1c0bf9a2526b.png","e2e/test-results/.playwright-artifacts-1/840afe4772661e84fbc166314e02d410.png","e2e/test-results/.playwright-artifacts-1/c771f6e47c260915d3f3f21195fe24d4.png","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/error-context.md","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-66eea-试-审批拒绝流程:法务拒绝-→-销售修改-→-重新提交-chromium/test-failed-2.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-2.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-3.png","e2e/test-results/business-flows-contract-si-e6f49-合同签署流程-E2E-测试-双审批流程:法务-财务审批-chromium/error-context.md","e2e/test-results/business-flows-contract-si-e6f49-合同签署流程-E2E-测试-双审批流程:法务-财务审批-chromium/test-failed-1.png"],"removed":["e2e/test-results/business-flows-contract-si-109b0--测试-标准流程:法务审批-→-电子签章-→-合同激活-chromium/error-context.md","e2e/test-results/business-flows-contract-si-109b0--测试-标准流程:法务审批-→-电子签章-→-合同激活-chromium/test-failed-1.png"],"modified":["e2e/.auth/admin.json","e2e/helpers/test-data-factory.ts","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/test-results/business-flows-contract-si-28626-签署流程-E2E-测试-权限测试:销售专员无法审批合同-chromium/error-context.md","e2e/test-results/business-flows-contract-si-28626-签署流程-E2E-测试-权限测试:销售专员无法审批合同-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-51110--合同签署流程-E2E-测试-合同续签流程:到期前续签-chromium/error-context.md","e2e/test-results/business-flows-contract-si-51110--合同签署流程-E2E-测试-合同续签流程:到期前续签-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/error-context.md","e2e/test-results/business-flows-contract-si-90e82-合同签署流程-E2E-测试-签署拒绝流程:客户拒绝签署-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-a11ed-签署流程-E2E-测试-合同终止流程:生效中-→-终止-chromium/error-context.md","e2e/test-results/business-flows-contract-si-a11ed-签署流程-E2E-测试-合同终止流程:生效中-→-终止-chromium/test-failed-1.png","e2e/test-results/business-flows-contract-si-bed52-E-测试-合同激活-→-订单生成-→-权益激活完整链路-chromium/error-context.md","e2e/test-results/business-flows-contract-si-bed52-E-测试-合同激活-→-订单生成-→-权益激活完整链路-chromium/test-failed-1.png","e2e/tests/business-flows/contract-signing-flow.spec.ts"]}],"total_commits":0,"head_commit":{"id":"546659ec60e857bdf77619972d1b3e4333b621ac","message":"Fix e2e timeout failures in business\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/546659ec60e857bdf77619972d1b3e4333b621ac","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-12T10:47:47+08:00","added":[],"removed":["e2e/playwright-report/data/512a8834d5f08d119fe44c5406f8f7b90c325900.png","e2e/playwright-report/data/5e84b497e5e6a5067f6b68414b2858576c91c6de.png","e2e/playwright-report/data/756cf89caac3dbbaf66ae5a4fece9488c4a42525.png","e2e/playwright-report/data/822a0a09c9b863d07c83467a99efb1337ffd0cac.png","e2e/playwright-report/data/92ffd60eca3e883a7e21500e5fdf92f7880e0ea8.md","e2e/playwright-report/data/aab2a6ce8f585d43bfae98f67d618f9e62590d16.png","e2e/playwright-report/data/bc1bd2948dfc983ce38f14632ed16f0dcb23b7eb.png","e2e/playwright-report/data/c480ca7b102943634bceabd2605376dc4358b2e2.png","e2e/playwright-report/data/e4a07244821da8bc81a5c72ff2bc44138444e25c.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-03d35-理流程-E2E-测试-重新打开流程:已关闭工单重新打开-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-1cdf9-处理流程-E2E-测试-权限测试:一线客服不能删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-3474b-E-测试-SLA-超时预警:首次响应超时-解决时间超时-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-381df-→-分配-→-处理-→-解决-→-关闭-→-满意度调查-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-a4b93-流程-E2E-测试-权限测试:只有客服经理可以删除工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-e0988-2E-测试-关联订单流程:从订单创建工单-→-关联资产-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-ef546-理流程-E2E-测试-权限测试:客户只能查看自己的工单-chromium/test-failed-1.png","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/error-context.md","e2e/test-results/business-flows-ticket-proc-efb99-试-升级流程:一线无法处理-→-升级二线-→-升级经理-chromium/test-failed-1.png"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/permissions/role-based-access.spec.ts","e2e/tests/state-machines/lead-state-transitions.spec.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":264083,"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-02-24T00:08:51+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
|
1771863033
|
1771863033
|
0
|
1771863010
|
1771863033
|
NULL
|
|
0
|
Edit
Delete
|
|
77
|
Fix frontend revenue recognition any
|
6
|
5
|
health-check.yml
|
38
|
-2
|
32
|
refs/heads/main
|
4d8152400e0edaa95ca297b53f8ad4da2f49bf7f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5dda81cc1d924bf1978062ca3fb162236ae8c57f","after":"4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/5dda81cc1d924bf1978062ca3fb162236ae8c57f...4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","commits":[{"id":"4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","message":"Fix frontend revenue recognition any\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-17T14:24:28+08:00","added":["REFACTOR_TASKS.md","backend/build.js","backend/scripts/audit-permissions.ts","backend/scripts/benchmark-stats.ts","backend/scripts/fix-build-errors.ts","backend/scripts/fix-permissions.ts","backend/scripts/reset-tenant-data.ts","backend/src/modules/assets/index.ts","backend/src/modules/cost-allocation/cost-allocation.service.test.ts","backend/src/modules/knowledge/knowledge.mapper.ts","backend/src/modules/marketing-matrix/matrix.mapper.ts","backend/src/modules/orders/order.mapper.ts","backend/src/modules/revenue/revenue.mapper.ts","backend/src/modules/supplier-payments/supplier-payments.service.test.ts","backend/src/modules/targets/target.mapper.ts","docs/BASESERVICE_REFACTOR_ANALYSIS.md","docs/ORDERS_REFACTOR_COMPLETE.md","docs/P0_HOTFIX_COMPLETE.md","docs/P0_HOTFIX_PLAN.md","docs/REFACTOR_COMPLETE_REPORT.md","docs/REFACTOR_EXECUTION_PLAN.md","docs/REFACTOR_STATUS_CORRECTION.md","docs/REVENUE_REFACTOR_PLAN.md","docs/reports/PROJECT_STATUS_2026-02-16.md","e2e/test-results/.last-run.json","e2e/test-results/results.json","reports/refactor-acceptance.backend-typecheck.summary.json","reports/refactor-acceptance.rescan.backend-errors.pass2.tsv","reports/refactor-acceptance.rescan.backend-errors.tsv","reports/refactor-acceptance.rescan.static.latest.json","reports/refactor-acceptance.rescan.summary.latest.json","reports/refactor-acceptance.static.latest.json"],"removed":["backend/src/modules/renewals/renewal.service.new.ts","backend/src/modules/shipments/shipments.service.ts","e2e/playwright-report/data/00432be148278a654597c3830a7e219a7e74c948.json","e2e/playwright-report/data/09e7eab8182c1766bab432b7d35679a56e590d6d.json","e2e/playwright-report/data/13b4efad4c879a56fa794893945161cacbec39b8.json","e2e/playwright-report/data/4c274e01c876c5b132ba0a7514ac6274d8bed8a7.json","e2e/playwright-report/data/531ca7bebbe75f6259f24b9b58a1349f692d584e.json","e2e/playwright-report/data/53d1de4e90c5847d891c321397f970a61795d21f.json","e2e/playwright-report/data/5be2a28255d48bdaedb3a67814a39faa9563e19c.json","e2e/playwright-report/data/72a97ccd7dcef53ef3c14502005370e347ffea71.json","e2e/playwright-report/data/7ecd6c6d4859e683d376ae0b1b487f139df79870.json","e2e/playwright-report/data/a56a40d92b92fb255414c08a3540971a77e76d19.json","e2e/playwright-report/data/a9a2339b0db5be963e681086219c18ca111c3c56.json","e2e/playwright-report/data/ac1afff941a40582896f847e63fed2cff6f298f9.json","e2e/playwright-report/data/ba7af977e55409348cae4d335d83b0a2f96f5241.json","e2e/playwright-report/data/bb3c20ff64f9f19e603d1f8c9d13922391282ef0.json","e2e/playwright-report/data/ca554707b28752dcd942b674c8e796179b48c4ad.json","e2e/playwright-report/data/d7a8d4a2a30a5c2858d099554966d586cd96069d.json","e2e/playwright-report/data/e03cf8298428dd6a25a9256aca551fa0f4b05d9d.json","e2e/playwright-report/data/f3d0321eb421843b4f90b757526068a89b201e54.json","e2e/playwright-report/data/fb514a72017343d2ac3376cca4d0e9db2d5bd947.json"],"modified":["GEMINI.md","backend/package.json","backend/prisma/seeds/01-base.ts","backend/src/modules/ad-audiences/ad-audience.compat.routes.ts","backend/src/modules/ad-audiences/ad-audience.controller.ts","backend/src/modules/ad-audiences/ad-audience.service.ts","backend/src/modules/ad-campaigns/ad-campaigns.compat.routes.ts","backend/src/modules/ad-campaigns/ad-campaigns.controller.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/alliance-merchants/alliance-merchant.controller.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.ts","backend/src/modules/alliance-partners/alliance-partner.controller.ts","backend/src/modules/alliance-partners/alliance-partner.routes.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-products/alliance-product.compat.routes.ts","backend/src/modules/alliance-products/alliance-product.controller.ts","backend/src/modules/alliance-products/alliance-product.service.ts","backend/src/modules/ar-ledger/ar-ledger.controller.ts","backend/src/modules/ar-ledger/ar-ledger.service.ts","backend/src/modules/campaigns/campaign.routes.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/channel-analytics/channel-analytics.routes.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.routes.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/commissions/commission.controller.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-groups/community-group.compat.routes.ts","backend/src/modules/community-groups/community-group.controller.ts","backend/src/modules/community-groups/community-group.service.ts","backend/src/modules/community-members/community-member.compat.routes.ts","backend/src/modules/community-members/community-member.controller.ts","backend/src/modules/community-members/community-member.service.ts","backend/src/modules/content-categories/content-category.controller.ts","backend/src/modules/content-categories/content-category.service.ts","backend/src/modules/content-creation/content-creation.controller.ts","backend/src/modules/content-creation/content-creation.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-library/content-library.controller.ts","backend/src/modules/content-library/content-library.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/content-templates/content-template.controller.ts","backend/src/modules/content-templates/content-template.service.ts","backend/src/modules/contracts/contract.compat.routes.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.compat.routes.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/crm-activities/crm-activity.controller.ts","backend/src/modules/crm-activities/crm-activity.routes.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/customers/customer-export.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.compat.routes.ts","backend/src/modules/departments/department.controller.ts","backend/src/modules/departments/department.routes.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/devices/device.controller.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/faults/fault.compat.routes.ts","backend/src/modules/faults/fault.controller.ts","backend/src/modules/faults/fault.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance-cash-analysis.service.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/revenue-compat.routes.ts","backend/src/modules/fulfillment/acceptance-automation.service.ts","backend/src/modules/fulfillment/fulfillment.controller.ts","backend/src/modules/fulfillment/fulfillment.routes.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/geo-pois/geo-poi.controller.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.controller.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.ts","backend/src/modules/groupbuy-orders/groupbuy-order.controller.ts","backend/src/modules/groupbuy-orders/groupbuy-order.service.ts","backend/src/modules/im/im.routes.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/inventory-count.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/invoices/invoice.routes.ts","backend/src/modules/invoices/invoice.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.controller.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/lead-scoring-ai/lead-action-recommendation.routes.ts","backend/src/modules/lead-scoring-ai/lead-score-trigger.routes.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-rooms/livestream-room.controller.ts","backend/src/modules/livestream-rooms/livestream-room.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.compat.routes.ts","backend/src/modules/livestream-schedules/livestream-schedule.controller.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/marketing-automation/workflow.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-matrix/matrix.service.ts","backend/src/modules/marketing/marketing-campaign.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/opportunities/index.ts","backend/src/modules/opportunities/opportunity-export.service.ts","backend/src/modules/opportunities/opportunity.controller.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/orders/order.routes.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.routes.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.controller.ts","backend/src/modules/price-books/index.ts","backend/src/modules/price-books/price-book.controller.ts","backend/src/modules/price-books/price-book.routes.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/price-books/price-enhancement.controller.ts","backend/src/modules/products/controllers/category.controller.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/index.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/projects/project.controller.ts","backend/src/modules/projects/project.routes.ts","backend/src/modules/projects/project.service.ts","backend/src/modules/quotes/quote.controller.ts","backend/src/modules/quotes/quote.routes.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/reconciliation/matching-engine.service.ts","backend/src/modules/reconciliation/reconciliation.controller.ts","backend/src/modules/reconciliation/reconciliation.service.ts","backend/src/modules/renewals/index.ts","backend/src/modules/renewals/renewals.service.ts","backend/src/modules/revenue/ar-ledger.controller.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/index.ts","backend/src/modules/revenue/invoice.controller.ts","backend/src/modules/revenue/invoice.routes.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/payment.controller.ts","backend/src/modules/revenue/revenue-recognition.controller.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/revenue/revenue.service.ts","backend/src/modules/revenue/sales-commission-compat.controller.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rma/index.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/roles/role.controller.ts","backend/src/modules/roles/role.routes.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/serial-numbers/sn.controller.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/shipments/shipment.controller.ts","backend/src/modules/shipments/shipment.routes.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-accounts/social-account.controller.ts","backend/src/modules/social-accounts/social-account.service.ts","backend/src/modules/social-posts/social-post.controller.ts","backend/src/modules/social-posts/social-post.service.ts","backend/src/modules/supplier-payments/supplier-payments.compat.routes.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/suppliers/supplier.service.ts","backend/src/modules/targets/target.controller.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/tenant-configs/tenant-config.controller.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.controller.ts","backend/src/modules/ticket-workflows/ticket-workflow.routes.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/tickets/index.ts","backend/src/modules/tickets/ticket-interactions.service.ts","backend/src/modules/tickets/ticket-operations.service.ts","backend/src/modules/tickets/ticket-queries.service.ts","backend/src/modules/tickets/ticket.controller.ts","backend/src/modules/tickets/ticket.routes.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/modules/treasury/bank-account.service.ts","backend/src/modules/treasury/payment-request.service.ts","backend/src/modules/users/user.controller.ts","backend/src/modules/users/user.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/events.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/error.middleware.ts","backend/src/shared/services/base.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/event-outbox-helper.ts","backend/tests/api/finance-gap-closure.test.ts","backend/tests/api/orders.test.ts","backend/tsconfig.json","docs/DEVELOPMENT_GUIDE.md","docs/api/openapi.json","docs/api/openapi.yaml","e2e/.auth/admin.json","e2e/playwright-report/index.html","frontend/src/api/adapters.ts","frontend/src/api/modules/revenue-recognition.ts","frontend/src/types/models.ts","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/leads/Index.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","package.json","pnpm-lock.yaml","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/missing-events-audit.latest.json","reports/missing-events-audit.latest.md","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/types/models.ts"]},{"id":"34dd3176c9d53eec42229818726de7931dde4edb","message":"Fix localhost revenue rules 404\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/34dd3176c9d53eec42229818726de7931dde4edb","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-16T08:58:40+08:00","added":[],"removed":[],"modified":["backend/src/modules/ad-audiences/ad-audience.service.ts","backend/src/modules/ad-campaigns/ad-campaigns.docs.ts","backend/src/modules/ad-campaigns/ad-campaigns.routes.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts"]},{"id":"7f0601bdd1c8b0145758236aa9cd2f1b605e5e9a","message":"Auto populate finance placeholder UI\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7f0601bdd1c8b0145758236aa9cd2f1b605e5e9a","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-16T01:45:50+08:00","added":[],"removed":[],"modified":["backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/revenue/revenue-recognition.service.ts","frontend/src/router/menu.ts","frontend/src/views/finance/Index.vue"]},{"id":"5c3b90c3df54a5727978fccc9fd3b68a496c2b90","message":"Add finance dashboard skeleton tabs\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5c3b90c3df54a5727978fccc9fd3b68a496c2b90","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-16T01:32:03+08:00","added":["backend/src/modules/finance/finance-cash-analysis.service.ts","frontend/src/views/finance-os/__tests__/pr3-cash-pages.smoke.test.ts","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/cash/CashControlTower.vue"],"removed":[],"modified":["backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/tests/api/finance-gap-closure.test.ts","frontend/src/api/modules/finance.ts","frontend/src/router/index.ts"]},{"id":"5bf47df3e9217bf8193505e7d28b73240bcd3cf4","message":"Update finance placeholder pages\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf47df3e9217bf8193505e7d28b73240bcd3cf4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-16T01:15:20+08:00","added":["backend/src/modules/finance/finance-costing.service.ts","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue"],"removed":[],"modified":["backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/supplier-payments/supplier-payments.compat.routes.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/shared/constants/modules.ts","backend/src/shared/constants/permissions.ts","backend/tests/api/finance-gap-closure.test.ts","frontend/src/api/modules/finance.ts","frontend/src/router/index.ts"]}],"total_commits":0,"head_commit":{"id":"4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","message":"Fix frontend revenue recognition any\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4d8152400e0edaa95ca297b53f8ad4da2f49bf7f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-17T14:24:28+08:00","added":["REFACTOR_TASKS.md","backend/build.js","backend/scripts/audit-permissions.ts","backend/scripts/benchmark-stats.ts","backend/scripts/fix-build-errors.ts","backend/scripts/fix-permissions.ts","backend/scripts/reset-tenant-data.ts","backend/src/modules/assets/index.ts","backend/src/modules/cost-allocation/cost-allocation.service.test.ts","backend/src/modules/knowledge/knowledge.mapper.ts","backend/src/modules/marketing-matrix/matrix.mapper.ts","backend/src/modules/orders/order.mapper.ts","backend/src/modules/revenue/revenue.mapper.ts","backend/src/modules/supplier-payments/supplier-payments.service.test.ts","backend/src/modules/targets/target.mapper.ts","docs/BASESERVICE_REFACTOR_ANALYSIS.md","docs/ORDERS_REFACTOR_COMPLETE.md","docs/P0_HOTFIX_COMPLETE.md","docs/P0_HOTFIX_PLAN.md","docs/REFACTOR_COMPLETE_REPORT.md","docs/REFACTOR_EXECUTION_PLAN.md","docs/REFACTOR_STATUS_CORRECTION.md","docs/REVENUE_REFACTOR_PLAN.md","docs/reports/PROJECT_STATUS_2026-02-16.md","e2e/test-results/.last-run.json","e2e/test-results/results.json","reports/refactor-acceptance.backend-typecheck.summary.json","reports/refactor-acceptance.rescan.backend-errors.pass2.tsv","reports/refactor-acceptance.rescan.backend-errors.tsv","reports/refactor-acceptance.rescan.static.latest.json","reports/refactor-acceptance.rescan.summary.latest.json","reports/refactor-acceptance.static.latest.json"],"removed":["backend/src/modules/renewals/renewal.service.new.ts","backend/src/modules/shipments/shipments.service.ts","e2e/playwright-report/data/00432be148278a654597c3830a7e219a7e74c948.json","e2e/playwright-report/data/09e7eab8182c1766bab432b7d35679a56e590d6d.json","e2e/playwright-report/data/13b4efad4c879a56fa794893945161cacbec39b8.json","e2e/playwright-report/data/4c274e01c876c5b132ba0a7514ac6274d8bed8a7.json","e2e/playwright-report/data/531ca7bebbe75f6259f24b9b58a1349f692d584e.json","e2e/playwright-report/data/53d1de4e90c5847d891c321397f970a61795d21f.json","e2e/playwright-report/data/5be2a28255d48bdaedb3a67814a39faa9563e19c.json","e2e/playwright-report/data/72a97ccd7dcef53ef3c14502005370e347ffea71.json","e2e/playwright-report/data/7ecd6c6d4859e683d376ae0b1b487f139df79870.json","e2e/playwright-report/data/a56a40d92b92fb255414c08a3540971a77e76d19.json","e2e/playwright-report/data/a9a2339b0db5be963e681086219c18ca111c3c56.json","e2e/playwright-report/data/ac1afff941a40582896f847e63fed2cff6f298f9.json","e2e/playwright-report/data/ba7af977e55409348cae4d335d83b0a2f96f5241.json","e2e/playwright-report/data/bb3c20ff64f9f19e603d1f8c9d13922391282ef0.json","e2e/playwright-report/data/ca554707b28752dcd942b674c8e796179b48c4ad.json","e2e/playwright-report/data/d7a8d4a2a30a5c2858d099554966d586cd96069d.json","e2e/playwright-report/data/e03cf8298428dd6a25a9256aca551fa0f4b05d9d.json","e2e/playwright-report/data/f3d0321eb421843b4f90b757526068a89b201e54.json","e2e/playwright-report/data/fb514a72017343d2ac3376cca4d0e9db2d5bd947.json"],"modified":["GEMINI.md","backend/package.json","backend/prisma/seeds/01-base.ts","backend/src/modules/ad-audiences/ad-audience.compat.routes.ts","backend/src/modules/ad-audiences/ad-audience.controller.ts","backend/src/modules/ad-audiences/ad-audience.service.ts","backend/src/modules/ad-campaigns/ad-campaigns.compat.routes.ts","backend/src/modules/ad-campaigns/ad-campaigns.controller.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/alliance-merchants/alliance-merchant.controller.ts","backend/src/modules/alliance-merchants/alliance-merchant.service.ts","backend/src/modules/alliance-partners/alliance-partner.controller.ts","backend/src/modules/alliance-partners/alliance-partner.routes.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/alliance-products/alliance-product.compat.routes.ts","backend/src/modules/alliance-products/alliance-product.controller.ts","backend/src/modules/alliance-products/alliance-product.service.ts","backend/src/modules/ar-ledger/ar-ledger.controller.ts","backend/src/modules/ar-ledger/ar-ledger.service.ts","backend/src/modules/campaigns/campaign.routes.ts","backend/src/modules/cash-flow/cash-flow-forecast.service.ts","backend/src/modules/channel-analytics/channel-analytics.routes.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.routes.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/commissions/commission.controller.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-groups/community-group.compat.routes.ts","backend/src/modules/community-groups/community-group.controller.ts","backend/src/modules/community-groups/community-group.service.ts","backend/src/modules/community-members/community-member.compat.routes.ts","backend/src/modules/community-members/community-member.controller.ts","backend/src/modules/community-members/community-member.service.ts","backend/src/modules/content-categories/content-category.controller.ts","backend/src/modules/content-categories/content-category.service.ts","backend/src/modules/content-creation/content-creation.controller.ts","backend/src/modules/content-creation/content-creation.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-library/content-library.controller.ts","backend/src/modules/content-library/content-library.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/content-templates/content-template.controller.ts","backend/src/modules/content-templates/content-template.service.ts","backend/src/modules/contracts/contract.compat.routes.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/cost-allocation/cost-allocation.compat.routes.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/crm-activities/crm-activity.controller.ts","backend/src/modules/crm-activities/crm-activity.routes.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/customers/customer-export.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.compat.routes.ts","backend/src/modules/departments/department.controller.ts","backend/src/modules/departments/department.routes.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/devices/device.controller.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/faults/fault.compat.routes.ts","backend/src/modules/faults/fault.controller.ts","backend/src/modules/faults/fault.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/finance/finance-automation.service.ts","backend/src/modules/finance/finance-cash-analysis.service.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/revenue-compat.routes.ts","backend/src/modules/fulfillment/acceptance-automation.service.ts","backend/src/modules/fulfillment/fulfillment.controller.ts","backend/src/modules/fulfillment/fulfillment.routes.ts","backend/src/modules/fulfillment/fulfillment.service.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/geo-pois/geo-poi.controller.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.controller.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.ts","backend/src/modules/groupbuy-orders/groupbuy-order.controller.ts","backend/src/modules/groupbuy-orders/groupbuy-order.service.ts","backend/src/modules/im/im.routes.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/inventory-count.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/invoices/invoice.routes.ts","backend/src/modules/invoices/invoice.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/knowledge/knowledge.controller.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/lead-scoring-ai/lead-action-recommendation.routes.ts","backend/src/modules/lead-scoring-ai/lead-score-trigger.routes.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-rooms/livestream-room.controller.ts","backend/src/modules/livestream-rooms/livestream-room.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.compat.routes.ts","backend/src/modules/livestream-schedules/livestream-schedule.controller.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/marketing-automation/workflow.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-matrix/matrix.service.ts","backend/src/modules/marketing/marketing-campaign.service.ts","backend/src/modules/marketing/marketing.controller.ts","backend/src/modules/opportunities/index.ts","backend/src/modules/opportunities/opportunity-export.service.ts","backend/src/modules/opportunities/opportunity.controller.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/orders/order.routes.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/partners/partner.controller.ts","backend/src/modules/partners/partner.routes.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.controller.ts","backend/src/modules/price-books/index.ts","backend/src/modules/price-books/price-book.controller.ts","backend/src/modules/price-books/price-book.routes.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/price-books/price-enhancement.controller.ts","backend/src/modules/products/controllers/category.controller.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/index.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/projects/project.controller.ts","backend/src/modules/projects/project.routes.ts","backend/src/modules/projects/project.service.ts","backend/src/modules/quotes/quote.controller.ts","backend/src/modules/quotes/quote.routes.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/reconciliation/matching-engine.service.ts","backend/src/modules/reconciliation/reconciliation.controller.ts","backend/src/modules/reconciliation/reconciliation.service.ts","backend/src/modules/renewals/index.ts","backend/src/modules/renewals/renewals.service.ts","backend/src/modules/revenue/ar-ledger.controller.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/index.ts","backend/src/modules/revenue/invoice.controller.ts","backend/src/modules/revenue/invoice.routes.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/payment.controller.ts","backend/src/modules/revenue/revenue-recognition.controller.ts","backend/src/modules/revenue/revenue-recognition.service.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.docs.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/revenue/revenue.service.ts","backend/src/modules/revenue/sales-commission-compat.controller.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rma/index.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.controller.ts","backend/src/modules/rma/rma.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/roles/role.controller.ts","backend/src/modules/roles/role.routes.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/serial-numbers/sn.controller.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/shipments/shipment.controller.ts","backend/src/modules/shipments/shipment.routes.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-accounts/social-account.controller.ts","backend/src/modules/social-accounts/social-account.service.ts","backend/src/modules/social-posts/social-post.controller.ts","backend/src/modules/social-posts/social-post.service.ts","backend/src/modules/supplier-payments/supplier-payments.compat.routes.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/suppliers/supplier.service.ts","backend/src/modules/targets/target.controller.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/tenant-configs/tenant-config.controller.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.controller.ts","backend/src/modules/ticket-workflows/ticket-workflow.routes.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/tickets/index.ts","backend/src/modules/tickets/ticket-interactions.service.ts","backend/src/modules/tickets/ticket-operations.service.ts","backend/src/modules/tickets/ticket-queries.service.ts","backend/src/modules/tickets/ticket.controller.ts","backend/src/modules/tickets/ticket.routes.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/modules/treasury/bank-account.service.ts","backend/src/modules/treasury/payment-request.service.ts","backend/src/modules/users/user.controller.ts","backend/src/modules/users/user.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/events.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/error.middleware.ts","backend/src/shared/services/base.service.test.ts","backend/src/shared/services/base.service.ts","backend/src/shared/state-machines/index.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/event-outbox-helper.ts","backend/tests/api/finance-gap-closure.test.ts","backend/tests/api/orders.test.ts","backend/tsconfig.json","docs/DEVELOPMENT_GUIDE.md","docs/api/openapi.json","docs/api/openapi.yaml","e2e/.auth/admin.json","e2e/playwright-report/index.html","frontend/src/api/adapters.ts","frontend/src/api/modules/revenue-recognition.ts","frontend/src/types/models.ts","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Detail.vue","frontend/src/views/leads/Index.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","package.json","pnpm-lock.yaml","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/missing-events-audit.latest.json","reports/missing-events-audit.latest.md","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/types/models.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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":464735,"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-02-24T00:16:50+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771864510
|
0
|
1771863610
|
1771864510
|
NULL
|
|
0
|
Edit
Delete
|
|
84
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
45
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771864810
|
0
|
1771864510
|
1771864810
|
NULL
|
|
0
|
Edit
Delete
|
|
85
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
46
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771865110
|
0
|
1771864810
|
1771865110
|
NULL
|
|
0
|
Edit
Delete
|
|
86
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
47
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771865410
|
0
|
1771865110
|
1771865410
|
NULL
|
|
0
|
Edit
Delete
|
|
87
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
48
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771865710
|
0
|
1771865410
|
1771865710
|
NULL
|
|
0
|
Edit
Delete
|
|
88
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
49
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1771866010
|
0
|
1771865710
|
1771866010
|
NULL
|
|
0
|
Edit
Delete
|
|
89
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
50
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771866278
|
1771866279
|
0
|
1771866010
|
1771866279
|
NULL
|
|
0
|
Edit
Delete
|
|
90
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
51
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771866310
|
1771866311
|
0
|
1771866310
|
1771866311
|
NULL
|
|
0
|
Edit
Delete
|
|
91
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
52
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771866610
|
1771866611
|
0
|
1771866610
|
1771866611
|
NULL
|
|
0
|
Edit
Delete
|
|
92
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
53
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771866910
|
1771866911
|
0
|
1771866910
|
1771866911
|
NULL
|
|
0
|
Edit
Delete
|
|
93
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
54
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771867210
|
1771867211
|
0
|
1771867210
|
1771867211
|
NULL
|
|
0
|
Edit
Delete
|
|
94
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
55
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771867510
|
1771867511
|
0
|
1771867510
|
1771867511
|
NULL
|
|
0
|
Edit
Delete
|
|
95
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
56
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771867810
|
1771867811
|
0
|
1771867810
|
1771867811
|
NULL
|
|
0
|
Edit
Delete
|
|
96
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
57
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771868110
|
1771868111
|
0
|
1771868110
|
1771868111
|
NULL
|
|
0
|
Edit
Delete
|
|
97
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
58
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771868410
|
1771868411
|
0
|
1771868410
|
1771868411
|
NULL
|
|
0
|
Edit
Delete
|
|
98
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
59
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771868710
|
1771868711
|
0
|
1771868710
|
1771868711
|
NULL
|
|
0
|
Edit
Delete
|
|
99
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
60
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771869010
|
1771869011
|
0
|
1771869010
|
1771869011
|
NULL
|
|
0
|
Edit
Delete
|
|
100
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
61
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771869310
|
1771869311
|
0
|
1771869310
|
1771869311
|
NULL
|
|
0
|
Edit
Delete
|
|
101
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
62
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771869610
|
1771869611
|
0
|
1771869610
|
1771869611
|
NULL
|
|
0
|
Edit
Delete
|
|
102
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
63
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771869910
|
1771869911
|
0
|
1771869910
|
1771869911
|
NULL
|
|
0
|
Edit
Delete
|
|
103
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
64
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771870210
|
1771870211
|
0
|
1771870210
|
1771870211
|
NULL
|
|
0
|
Edit
Delete
|
|
104
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
65
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771870510
|
1771870511
|
0
|
1771870510
|
1771870511
|
NULL
|
|
0
|
Edit
Delete
|
|
105
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
66
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771870810
|
1771870811
|
0
|
1771870810
|
1771870811
|
NULL
|
|
0
|
Edit
Delete
|
|
106
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
67
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771871110
|
1771871111
|
0
|
1771871110
|
1771871111
|
NULL
|
|
0
|
Edit
Delete
|
|
107
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
68
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771871410
|
1771871411
|
0
|
1771871410
|
1771871411
|
NULL
|
|
0
|
Edit
Delete
|
|
108
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
69
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771871710
|
1771871711
|
0
|
1771871710
|
1771871711
|
NULL
|
|
0
|
Edit
Delete
|
|
109
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
70
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771872010
|
1771872011
|
0
|
1771872010
|
1771872011
|
NULL
|
|
0
|
Edit
Delete
|
|
110
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
71
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771872310
|
1771872311
|
0
|
1771872310
|
1771872311
|
NULL
|
|
0
|
Edit
Delete
|
|
111
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
72
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771872610
|
1771872611
|
0
|
1771872610
|
1771872611
|
NULL
|
|
0
|
Edit
Delete
|
|
112
|
Fix login expiration throttling
|
6
|
5
|
health-check.yml
|
73
|
-2
|
38
|
refs/heads/main
|
c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"57dde43e9eb1e72e9797fd342f9d920b9afb6ab5","after":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/57dde43e9eb1e72e9797fd342f9d920b9afb6ab5...c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","commits":[{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"53914cf9a2af18dfe3fd1bdd68865d0629979b9f","message":"Fix auth expiry handling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/53914cf9a2af18dfe3fd1bdd68865d0629979b9f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:10:03+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/product.service.ts","backend/src/shared/constants/index.ts","frontend/src/views/products/Index.vue","mobile/src/api/modules/leads.ts","mobile/src/views/Leads.vue"]},{"id":"2757965438fd9e2796643999b4dc70fd9a29ea62","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2757965438fd9e2796643999b4dc70fd9a29ea62","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T23:51:25+08:00","added":["backend/prisma/migrations/20260223000001_add_cost_allocation_supplier_payment_permissions/migration.sql"],"removed":[],"modified":["backend/prisma/seed.ts","backend/src/modules/inventory/inventory.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.schema.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/shipments/shipment.routes.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/inventory/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/projects/Index.vue"]},{"id":"97441ae42649a48470bbc978b3ad77061a1703e4","message":"Fix auth expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/97441ae42649a48470bbc978b3ad77061a1703e4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:57:44+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","backend/src/modules/products/services/product.service.ts","frontend/src/views/products/Index.vue"]},{"id":"aca608e90896b9e61e7348d82e300954c1b34f0f","message":"Fix 登录过期节流处理」} PMID??? Wait string\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/aca608e90896b9e61e7348d82e300954c1b34f0f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-23T22:46:26+08:00","added":[],"removed":[],"modified":["backend/src/modules/products/services/category.service.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/products/Index.vue","frontend/src/views/social-accounts/Index.vue"]}],"total_commits":0,"head_commit":{"id":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","message":"Fix login expiration throttling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-24T00:24:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/projects/project.controller.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/views/finance/Index.vue","frontend/src/views/projects/Index.vue"]},"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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":478163,"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-02-24T00:29:41+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
|
1771872910
|
1771872911
|
0
|
1771872910
|
1771872911
|
NULL
|
|
0
|
Edit
Delete
|