|
9946
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9870
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774931418
|
1774931419
|
0
|
1774931418
|
1774931419
|
|
|
0
|
Edit
Delete
|
|
9947
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9871
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774931718
|
1774931719
|
0
|
1774931718
|
1774931719
|
|
|
0
|
Edit
Delete
|
|
9948
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9872
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774932018
|
1774932019
|
0
|
1774932018
|
1774932019
|
|
|
0
|
Edit
Delete
|
|
9949
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9873
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774932318
|
1774932319
|
0
|
1774932318
|
1774932319
|
|
|
0
|
Edit
Delete
|
|
9950
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9874
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774932618
|
1774932619
|
0
|
1774932618
|
1774932619
|
|
|
0
|
Edit
Delete
|
|
9951
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9875
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774932918
|
1774932919
|
0
|
1774932918
|
1774932919
|
|
|
0
|
Edit
Delete
|
|
9952
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9876
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774933218
|
1774933219
|
0
|
1774933218
|
1774933219
|
|
|
0
|
Edit
Delete
|
|
9953
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9877
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774933518
|
1774933519
|
0
|
1774933518
|
1774933519
|
|
|
0
|
Edit
Delete
|
|
9954
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9878
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774933818
|
1774933819
|
0
|
1774933818
|
1774933819
|
|
|
0
|
Edit
Delete
|
|
9955
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
health-check.yml
|
9879
|
-2
|
241
|
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"}}...
|
schedule
|
4
|
4
|
1774934118
|
1774934119
|
0
|
1774934118
|
1774934119
|
|
|
0
|
Edit
Delete
|
|
1102
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
ci.yml
|
1063
|
5
|
0
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1772168721
|
1772169222
|
0
|
1772168721
|
1772169222
|
NULL
|
|
0
|
Edit
Delete
|
|
1103
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1064
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772169217
|
1772169218
|
0
|
1772169010
|
1772169218
|
NULL
|
|
0
|
Edit
Delete
|
|
1104
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1065
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772169311
|
1772169312
|
0
|
1772169310
|
1772169312
|
NULL
|
|
0
|
Edit
Delete
|
|
1105
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1066
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772169611
|
1772169612
|
0
|
1772169610
|
1772169612
|
NULL
|
|
0
|
Edit
Delete
|
|
1106
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1067
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772169911
|
1772169912
|
0
|
1772169910
|
1772169912
|
NULL
|
|
0
|
Edit
Delete
|
|
1107
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1068
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772170211
|
1772170212
|
0
|
1772170210
|
1772170212
|
NULL
|
|
0
|
Edit
Delete
|
|
1108
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1069
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772170511
|
1772170512
|
0
|
1772170510
|
1772170512
|
NULL
|
|
0
|
Edit
Delete
|
|
1109
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1070
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772170811
|
1772170812
|
0
|
1772170810
|
1772170812
|
NULL
|
|
0
|
Edit
Delete
|
|
1110
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1071
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772171111
|
1772171112
|
0
|
1772171110
|
1772171112
|
NULL
|
|
0
|
Edit
Delete
|
|
1111
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1072
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772171411
|
1772171412
|
0
|
1772171410
|
1772171412
|
NULL
|
|
0
|
Edit
Delete
|
|
1112
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1073
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772171711
|
1772171712
|
0
|
1772171710
|
1772171712
|
NULL
|
|
0
|
Edit
Delete
|
|
1113
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1074
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772172011
|
1772172012
|
0
|
1772172010
|
1772172012
|
NULL
|
|
0
|
Edit
Delete
|
|
1114
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1075
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772172311
|
1772172312
|
0
|
1772172310
|
1772172312
|
NULL
|
|
0
|
Edit
Delete
|
|
1115
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1076
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772172611
|
1772172612
|
0
|
1772172610
|
1772172612
|
NULL
|
|
0
|
Edit
Delete
|
|
1116
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1077
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772172911
|
1772172912
|
0
|
1772172910
|
1772172912
|
NULL
|
|
0
|
Edit
Delete
|
|
1117
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1078
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772173211
|
1772173212
|
0
|
1772173210
|
1772173212
|
NULL
|
|
0
|
Edit
Delete
|
|
1118
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1079
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772173511
|
1772173512
|
0
|
1772173510
|
1772173512
|
NULL
|
|
0
|
Edit
Delete
|
|
1119
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1080
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772173811
|
1772173812
|
0
|
1772173810
|
1772173812
|
NULL
|
|
0
|
Edit
Delete
|
|
1120
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1081
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772174111
|
1772174112
|
0
|
1772174110
|
1772174112
|
NULL
|
|
0
|
Edit
Delete
|
|
1121
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1082
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772174411
|
1772174412
|
0
|
1772174410
|
1772174412
|
NULL
|
|
0
|
Edit
Delete
|
|
1122
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1083
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772174711
|
1772174712
|
0
|
1772174710
|
1772174712
|
NULL
|
|
0
|
Edit
Delete
|
|
1123
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1084
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772175011
|
1772175012
|
0
|
1772175010
|
1772175012
|
NULL
|
|
0
|
Edit
Delete
|
|
1124
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1085
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772175311
|
1772175312
|
0
|
1772175310
|
1772175312
|
NULL
|
|
0
|
Edit
Delete
|
|
1125
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1086
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772175611
|
1772175612
|
0
|
1772175610
|
1772175612
|
NULL
|
|
0
|
Edit
Delete
|
|
1126
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1087
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772175911
|
1772175912
|
0
|
1772175910
|
1772175912
|
NULL
|
|
0
|
Edit
Delete
|
|
1127
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1088
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772176211
|
1772176212
|
0
|
1772176210
|
1772176212
|
NULL
|
|
0
|
Edit
Delete
|
|
1128
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1089
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772176511
|
1772176512
|
0
|
1772176510
|
1772176512
|
NULL
|
|
0
|
Edit
Delete
|
|
1129
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1090
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772176813
|
1772176814
|
0
|
1772176812
|
1772176814
|
NULL
|
|
0
|
Edit
Delete
|
|
1130
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1091
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772177113
|
1772177114
|
0
|
1772177112
|
1772177114
|
NULL
|
|
0
|
Edit
Delete
|
|
1135
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1092
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772177712
|
0
|
1772177412
|
1772177712
|
NULL
|
|
0
|
Edit
Delete
|
|
1136
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1093
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772178012
|
0
|
1772177712
|
1772178012
|
NULL
|
|
0
|
Edit
Delete
|
|
1137
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1094
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772178312
|
0
|
1772178012
|
1772178312
|
NULL
|
|
0
|
Edit
Delete
|
|
1138
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1095
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772178610
|
1772178611
|
0
|
1772178312
|
1772178611
|
NULL
|
|
0
|
Edit
Delete
|
|
1143
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1096
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772178912
|
0
|
1772178612
|
1772178912
|
NULL
|
|
0
|
Edit
Delete
|
|
1144
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1097
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772179212
|
0
|
1772178912
|
1772179212
|
NULL
|
|
0
|
Edit
Delete
|
|
1145
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1098
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772179512
|
0
|
1772179212
|
1772179512
|
NULL
|
|
0
|
Edit
Delete
|
|
1146
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1099
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772179812
|
0
|
1772179512
|
1772179812
|
NULL
|
|
0
|
Edit
Delete
|
|
1147
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1100
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772180112
|
0
|
1772179812
|
1772180112
|
NULL
|
|
0
|
Edit
Delete
|
|
1148
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1101
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772180412
|
0
|
1772180112
|
1772180412
|
NULL
|
|
0
|
Edit
Delete
|
|
1149
|
feat(dogfooding): 建立7天内部吃狗粮测试启动包
|
6
|
5
|
health-check.yml
|
1102
|
-2
|
42
|
refs/heads/main
|
2186d56d658fcaab3ff5ca5880742254dc8c4545
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e926f391dc14e2cc2b180c71114e6a20d20abed5","after":"2186d56d658fcaab3ff5ca5880742254dc8c4545","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e926f391dc14e2cc2b180c71114e6a20d20abed5...2186d56d658fcaab3ff5ca5880742254dc8c4545","commits":[{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2186d56d658fcaab3ff5ca5880742254dc8c4545","message":"feat(dogfooding): 建立7天内部吃狗粮测试启动包\n\n## 核心产出\n\n### 测试文档体系\n- docs/dogfooding/README.md: 整体索引 + 启动 SOP\n- docs/dogfooding/accounts.md: 测试账号清单(租户A 8角色 + 租户B 2角色)\n- docs/dogfooding/metrics-dashboard.md: 每日实时指标看板(Bug趋势/模块分布/全链路状态)\n\n### 7天分日测试脚本\n- day-1: 基础验证(登录/线索/渠道)\n- day-2: 线索全流程 + 渠道深度\n- day-3: 商机 + 报价 + 审批流\n- day-4: 合同 + 订单 + 发货(Lead→Cash 链路首次跑通)\n- day-5: 财务 + 工单 + 续费\n- day-6: 门店 + 团购 + 社区任务(Store→Redemption 链路首次跑通)\n- day-7: 性能测试 + 多租户隔离验证 + 总结\n\n### 反馈收集机制\n- .gitea/ISSUE_TEMPLATE/bug_report.md: Bug 上报模板(P0~P3 等级/复现步骤/环境信息)\n- .gitea/ISSUE_TEMPLATE/feature_request.md: 改进建议模板\n- docs/dogfooding/templates/bug-report.md: Markdown 离线版\n- docs/dogfooding/templates/daily-report.md: 日报模板(9项打分维度)\n- docs/dogfooding/templates/final-report.md: 7天总结报告模板\n\n### 种子数据脚本\n- backend/scripts/seed-dogfood.ts: 完整种子数据脚本\n - 2个租户(dogfood-a/dogfood-b)\n - 8个测试账号(SDR/AE/CS/OPS/FIN/MGR/QA/DEV角色)\n - 10条渠道 + 20家企业客户 + 100条线索\n - 30个商机 + 10张报价 + 50个产品 + 3本价格目录\n - 5家门店 + 3个团购活动 + 2个社区 + 10个社区任务\n\n## 7天验收指标\n- Lead→Cash 链路完整记录 ≥1条\n- Store→Redemption 链路完整记录 ≥1条\n- P0 Bug 当日修复率 100%,P1 Bug 48h修复率 ≥80%\n- 页面首屏 \u003c3s,API响应 \u003c500ms\n- 多租户数据隔离 0泄露,测试账号日活率 ≥80%\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2186d56d658fcaab3ff5ca5880742254dc8c4545","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-27T13:05:12+08:00","added":[".gitea/ISSUE_TEMPLATE/bug_report.md",".gitea/ISSUE_TEMPLATE/feature_request.md","backend/scripts/seed-dogfood.ts","docs/dogfooding/README.md","docs/dogfooding/accounts.md","docs/dogfooding/daily/day-1.md","docs/dogfooding/daily/day-2.md","docs/dogfooding/daily/day-3.md","docs/dogfooding/daily/day-4.md","docs/dogfooding/daily/day-5.md","docs/dogfooding/daily/day-6.md","docs/dogfooding/daily/day-7.md","docs/dogfooding/metrics-dashboard.md","docs/dogfooding/templates/bug-report.md","docs/dogfooding/templates/daily-report.md","docs/dogfooding/templates/final-report.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/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":481263,"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-27T13:05:11+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
|
1772180712
|
0
|
1772180412
|
1772180712
|
NULL
|
|
0
|
Edit
Delete
|