|
13811
|
feat: E2E 表单测试框架 + P0/P1/P2 治理完成
|
6
|
5
|
health-check.yml
|
13733
|
-2
|
265
|
refs/heads/main
|
98cc8da660b8d4dba9887432490471d976c03f5f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","after":"98cc8da660b8d4dba9887432490471d976c03f5f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0...98cc8da660b8d4dba9887432490471d976c03f5f","commits":[{"id":"98cc8da660b8d4dba9887432490471d976c03f5f","message":"feat: E2E 表单测试框架 + P0/P1/P2 治理完成\n\nE2E 表单测试 (新):\n- 新增 4 个测试文件,21 个测试用例,983 行代码\n- helpers/form-test-helpers.ts: 12 个通用测试工具函数\n- 覆盖 Lead-to-Cash/营销/审批/财务 4 大业务域\n- 测试矩阵: F01创建/F02验证错误/F03编辑回填/F04草稿恢复\n\nP0 治理完成:\n- ES 安全配置: xpack.security.enabled=true + 密码认证\n- Dockerfile.dev: 前后端统一 pnpm + frozen-lockfile\n- customers/Index.vue: reactive\u003cany\u003e → CustomerQueryParams 接口\n- CLAUDE.md 红线 9: 列表页必须使用 useListPage\n- useListPage 覆盖: 13 → 23/208 (11.1%),新增 10 个页面\n\nP1 治理完成:\n- Prisma 升级: 5.7.0 → 5.22.0,prismaSchemaFolder 启用\n- schema 拆分: 27 个子文件,prisma validate 通过\n- 大组件拆分: sms-marketing 1774 → 840 行 (↓53%)\n - SmsTemplateManager.vue (514 行)\n - SmsCampaignManager.vue (598 行)\n- 测试覆盖率: 后端 65→70%, 前端 60→65%\n- Dockerfile prune: pnpm prune --prod --no-optional\n\nP2 治理完成:\n- Kafka HA: Makefile deploy-ha 命令\n- SBOM: CI anchore/sbom-action 集成\n- ECharts 按需引入: echarts/core\n- 虚拟列表方案: @tanstack/vue-virtual 实施计划\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98cc8da660b8d4dba9887432490471d976c03f5f","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T00:24:31+08:00","added":["e2e/helpers/form-test-helpers.ts","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"],"removed":["e2e/test-results/create-verify-all-report.json"],"modified":[".env.production.example",".github/workflows/ci.yml","CLAUDE.md","Makefile","backend/Dockerfile","backend/Dockerfile.dev","backend/package.json","backend/prisma/schema.prisma","backend/src/config/env.ts","backend/vitest.config.ts","backend/vitest.workspace.ts","docker-compose.prod.yml","docs/governance/baseline-and-experience.md","e2e/test-results/.last-run.json","frontend/Dockerfile.dev","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/sms-marketing/Index.vue","frontend/vitest.config.ts","package.json","pnpm-lock.yaml","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"98cc8da660b8d4dba9887432490471d976c03f5f","message":"feat: E2E 表单测试框架 + P0/P1/P2 治理完成\n\nE2E 表单测试 (新):\n- 新增 4 个测试文件,21 个测试用例,983 行代码\n- helpers/form-test-helpers.ts: 12 个通用测试工具函数\n- 覆盖 Lead-to-Cash/营销/审批/财务 4 大业务域\n- 测试矩阵: F01创建/F02验证错误/F03编辑回填/F04草稿恢复\n\nP0 治理完成:\n- ES 安全配置: xpack.security.enabled=true + 密码认证\n- Dockerfile.dev: 前后端统一 pnpm + frozen-lockfile\n- customers/Index.vue: reactive\u003cany\u003e → CustomerQueryParams 接口\n- CLAUDE.md 红线 9: 列表页必须使用 useListPage\n- useListPage 覆盖: 13 → 23/208 (11.1%),新增 10 个页面\n\nP1 治理完成:\n- Prisma 升级: 5.7.0 → 5.22.0,prismaSchemaFolder 启用\n- schema 拆分: 27 个子文件,prisma validate 通过\n- 大组件拆分: sms-marketing 1774 → 840 行 (↓53%)\n - SmsTemplateManager.vue (514 行)\n - SmsCampaignManager.vue (598 行)\n- 测试覆盖率: 后端 65→70%, 前端 60→65%\n- Dockerfile prune: pnpm prune --prod --no-optional\n\nP2 治理完成:\n- Kafka HA: Makefile deploy-ha 命令\n- SBOM: CI anchore/sbom-action 集成\n- ECharts 按需引入: echarts/core\n- 虚拟列表方案: @tanstack/vue-virtual 实施计划\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98cc8da660b8d4dba9887432490471d976c03f5f","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T00:24:31+08:00","added":["e2e/helpers/form-test-helpers.ts","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/views/sms-marketing/components/SmsCampaignManager.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"],"removed":["e2e/test-results/create-verify-all-report.json"],"modified":[".env.production.example",".github/workflows/ci.yml","CLAUDE.md","Makefile","backend/Dockerfile","backend/Dockerfile.dev","backend/package.json","backend/prisma/schema.prisma","backend/src/config/env.ts","backend/vitest.config.ts","backend/vitest.workspace.ts","docker-compose.prod.yml","docs/governance/baseline-and-experience.md","e2e/test-results/.last-run.json","frontend/Dockerfile.dev","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/crm-activities/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/sms-marketing/Index.vue","frontend/vitest.config.ts","package.json","pnpm-lock.yaml","scripts/harness/audit-registry.ts","scripts/harness/cli.ts","scripts/harness/report.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1776066051
|
1776066052
|
0
|
1776066050
|
1776066052
|
|
|
0
|
Edit
Delete
|
|
18851
|
chore: 提交合并后全量变更
|
6
|
5
|
ci.yml
|
18771
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
16
|
1777515699
|
1777515881
|
0
|
1777515697
|
1777516178
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/pull/2/head
|
1
|
Edit
Delete
|
|
18852
|
chore: 提交合并后全量变更
|
6
|
5
|
e2e-tests.yml
|
18772
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
20
|
1777515882
|
1777515956
|
0
|
1777515698
|
1777516273
|
|
|
0
|
Edit
Delete
|
|
18853
|
chore: 提交合并后全量变更
|
6
|
5
|
migration-safety.yml
|
18773
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
4
|
1777515957
|
1777515988
|
0
|
1777515699
|
1777515988
|
|
|
0
|
Edit
Delete
|
|
18854
|
chore: 提交合并后全量变更
|
6
|
5
|
performance.yml
|
18774
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
28
|
1777515989
|
1777522330
|
0
|
1777515700
|
1777522373
|
|
|
0
|
Edit
Delete
|
|
18855
|
chore: 提交合并后全量变更
|
6
|
5
|
pr-validation.yml
|
18775
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
26
|
1777515992
|
1777522336
|
0
|
1777515701
|
1777522376
|
group: pr-${{ github.event.pull_request.number }}
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: "true"
...
|
pr-2
|
1
|
Edit
Delete
|
|
18856
|
chore: 提交合并后全量变更
|
6
|
5
|
test-pipeline.yml
|
18776
|
5
|
0
|
refs/pull/2/head
|
982b47544d9cefb513875cc84c6c36bf1ee27fb2
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":2,"pull_request":{"id":8,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","number":2,"user":{"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"},"title":"Encode DB credentials in synced local env URLs","body":"## 模块治理摘要\r\n\r\n- 模块:\r\n- 战区:\r\n- lane:\r\n- 阶段:\r\n- 分类:`模块专项通过 / 工作区漂移 / 阻断`\r\n- 结论:\r\n- 战役卡:\r\n- 验收卡:\r\n- runner evidence bundle:\r\n\r\n## 验证命令\r\n\r\n| 命令 | 结果 | 备注 |\r\n| --- | --- | --- |\r\n| | | |\r\n| | | |\r\n| | | |\r\n\r\n## 审计命中\r\n\r\n- `audit:tenant`:\r\n- `audit:events`:\r\n- `audit:route-contract`:\r\n- `audit:docs-single-source`:\r\n- 如未跑全量,请说明原因:\r\n\r\n## 前端 / 页面验收\r\n\r\n- canonical 入口:\r\n- smoke / auth-scope:\r\n- alias / compat 回归:\r\n\r\n## 残余风险\r\n\r\n- 风险 1:\r\n- 风险 2:\r\n\r\n## 文档同步\r\n\r\n- [ ] `CLAUDE.md`\r\n- [ ] `AGENTS.md`\r\n- [ ] `README.md`\r\n- [ ] `GEMINI.md`\r\n- [ ] 治理经验库 / 专项记录\r\n\r\n## 口径确认\r\n\r\n- [ ] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\r\n- [ ] 若存在工作区漂移,已明确标记且未误记到当前模块\r\n- [ ] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\r\n","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":96910,"deletions":136584,"changed_files":978,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/2.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/merge-all-20260429","ref":"codex/merge-all-20260429","sha":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","repo_id":6,"repo":{"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","due_date":null,"created_at":"2026-04-30T10:21:35+08:00","updated_at":"2026-04-30T10:21:36+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5245141,"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":18,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-30T10:20:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
72
|
1777516115
|
1777516177
|
0
|
1777515701
|
1777522438
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/pull/2/head
|
1
|
Edit
Delete
|
|
23339
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/festive-nobel-6b66e8...
|
6
|
5
|
ci.yml
|
23257
|
5
|
0
|
refs/pull/5/head
|
97a07d5982fb0e82cdee59e6043fa80975bfbb2b
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":5,"pull_request":{"id":13,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/5","number":5,"user":{"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"},"title":"feat: 培训管理种子 + MQL 评分规则 + Gitea CI 迁移","body":"对应 GitHub PR #52。\n\n- backend/prisma/seeds/22-hr-training-content.ts: 培训管理 12 张表种子\n- backend/prisma/seeds/23-lead-scoring-rules.ts: MQL 默认评分规则集(修复 /lead-qualification 评估 400)\n- .gitea/workflows/ci.yml: Gitea Actions CI(取代账户计费阻塞的 GitHub Actions)\n- frontend course-marketplace.ts: array-guard 修复\n- 已合并 origin/main 至 97a07d598,冲突全部解决\n\nGitHub Actions 已仓库级禁用,CI 迁移到本 Gitea PR 验证。","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":327226,"deletions":6430,"changed_files":697,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/5","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/5.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/5.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5425447,"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":5,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-16T01:35:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/festive-nobel-6b66e8","ref":"claude/festive-nobel-6b66e8","sha":"97a07d5982fb0e82cdee59e6043fa80975bfbb2b","repo_id":6,"repo":{"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":5425447,"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":5,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-16T01:35:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-16T06:44:47+08:00","updated_at":"2026-05-16T06:44:48+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5425447,"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":5,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-16T01:35:18+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
3
|
6
|
1778885091
|
1778885717
|
0
|
1778885090
|
1778885718
|
group: gitea-ci-${{ github.ref }}
cancel-in-progre group: gitea-ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
gitea-ci-refs/pull/5/head
|
1
|
Edit
Delete
|
|
22653
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
test-pipeline.yml
|
22571
|
5
|
0
|
refs/heads/claude/bold-raman-0239cc
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/claude/bold-raman-0 {"ref":"refs/heads/claude/bold-raman-0239cc","before":"0000000000000000000000000000000000000000","after":"921a6ce5568beb3034fc47d4bf7a392351c0068f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/534799e0b1707368df37aff7b3df545a6ca1064a...921a6ce5568beb3034fc47d4bf7a392351c0068f","commits":[{"id":"921a6ce5568beb3034fc47d4bf7a392351c0068f","message":"chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳\n\naudit:events / audit:state-machines 在前次提交时由 Smart Gate 重新触发;\n本提交把更新后的 reports/*.latest.json / *.latest.md 一起入库,保持仓库内\naudit 快照与最后一次 PASS 校验同步。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/921a6ce5568beb3034fc47d4bf7a392351c0068f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-12T16:32:36-07:00","added":[],"removed":[],"modified":["reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md"]},{"id":"566b7fe1dc66f235ce26d82eb08108083bef619b","message":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归修复\n\nW4-T03 阻塞 2026-05-12 真实 DB 复跑解封:\n- tests/api/ai-review-queue.test.ts 两处 data.data → data 修正,对齐\n Governance 3.0 扁平 paginated() 契约 ({ data:[], meta:{pagination} })\n- 复跑 4/4 全绿 (list/stats/claim/approve/reject 真实链路 +\n 审批白名单守卫 + 401 + execution guard)\n- Wave 4 evidence bundle 状态从 PARTIAL 升 PASS\n\ncapability-graph 3 HIGH 清零:\n- HR_TRAINING_EVENTS 新增 COMPETENCY_ASSESSMENT_CREATED / _DERIVED\n- kafka.ts 新增 hr_competency_assessment → HR_EVENTS topic 映射\n- assessByUser / deriveBehaviorBasedAssessment 写入包进\n prisma.transaction({tx =\u003e create + publishEvent(tx)}),outbox 原子化\n- event-publishing audit: capability-graph none → full\n- harness HIGH 3 → 0\n\nvitest 7 项真回归修复(剥离 2026-02-18 stale 95-failure 噪音后):\n- marketing.service.test.ts 完成执行中活动: 补 4th findFirst mock\n (assertTransition + update 状态校验 + ensureExistsById + refresh)\n- quote.service.test.ts 创建报价单: biz-code mock 补 createWithBizCodeRetry\n- campaign.service.enhanced.test.ts 5 项 + 6 项隐藏共振失败:\n * beforeEach 加 findFirst/updateMany/findFirstOrThrow.mockReset()\n 防止 mockResolvedValue sticky 跨测试串扰\n * mock 补 findFirstOrThrow(execute 走 updateStatusInTx 用 findFirstOrThrow)\n * 8 处状态机生命周期/事件发布/取消测试补 4th findFirst onceValue\n * execute 测试将 3rd findFirst.mockResolvedValueOnce 改为\n findFirstOrThrow.mockResolvedValueOnce\n\n18 个原 stale-baseline 失败文件 373/373 全绿。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/566b7fe1dc66f235ce26d82eb08108083bef619b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-12T16:29:30-07:00","added":["reports/prisma-zod-contract-audit.2026-05-12.json","reports/prisma-zod-contract-audit.2026-05-12.md"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/capability-graph/capability-graph.service.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/shared/constants/events/hr.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/unit/services/quote.service.test.ts","docs/governance/ai-process-evidence-bundle-2026-05-10.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md"]}],"total_commits":0,"head_commit":{"id":"921a6ce5568beb3034fc47d4bf7a392351c0068f","message":"chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳\n\naudit:events / audit:state-machines 在前次提交时由 Smart Gate 重新触发;\n本提交把更新后的 reports/*.latest.json / *.latest.md 一起入库,保持仓库内\naudit 快照与最后一次 PASS 校验同步。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/921a6ce5568beb3034fc47d4bf7a392351c0068f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-12T16:32:36-07:00","added":[],"removed":[],"modified":["reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5302799,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T06:35:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
72
|
1778679485
|
1778680593
|
0
|
1778679483
|
1778689175
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/claude/bold-raman-0239cc
|
1
|
Edit
Delete
|
|
22655
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
ci.yml
|
22573
|
5
|
0
|
refs/pull/4/head
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"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"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":682,"deletions":490,"changed_files":16,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"921a6ce5568beb3034fc47d4bf7a392351c0068f","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-13T21:41:58+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
16
|
1778680595
|
1778682774
|
0
|
1778679718
|
1778686877
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/pull/4/head
|
1
|
Edit
Delete
|
|
22656
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
e2e-tests.yml
|
22574
|
5
|
0
|
refs/pull/4/head
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"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"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":682,"deletions":490,"changed_files":16,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"921a6ce5568beb3034fc47d4bf7a392351c0068f","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-13T21:41:58+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
20
|
1778682786
|
1778683823
|
0
|
1778679718
|
1778686896
|
|
|
0
|
Edit
Delete
|
|
22657
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
performance.yml
|
22575
|
5
|
0
|
refs/pull/4/head
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"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"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":682,"deletions":490,"changed_files":16,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"921a6ce5568beb3034fc47d4bf7a392351c0068f","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-13T21:41:58+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
28
|
1778683825
|
1778687831
|
0
|
1778679719
|
1778689096
|
|
|
0
|
Edit
Delete
|
|
22658
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
pr-validation.yml
|
22576
|
5
|
0
|
refs/pull/4/head
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"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"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":682,"deletions":490,"changed_files":16,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"921a6ce5568beb3034fc47d4bf7a392351c0068f","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-13T21:41:58+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
26
|
1778683827
|
1778687849
|
0
|
1778679719
|
1778689104
|
group: pr-${{ github.event.pull_request.number }}
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: "true"
...
|
pr-4
|
1
|
Edit
Delete
|
|
22659
|
chore(reports): 刷新 pre-commit Smart Gate 触发的 audit chore(reports): 刷新 pre-commit Smart Gate 触发的 audit 快照时间戳...
|
6
|
5
|
test-pipeline.yml
|
22577
|
5
|
0
|
refs/pull/4/head
|
921a6ce5568beb3034fc47d4bf7a392351c0068f
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"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"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":682,"deletions":490,"changed_files":16,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"921a6ce5568beb3034fc47d4bf7a392351c0068f","repo_id":6,"repo":{"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-13T21:41:58+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":5302992,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-13T21:38:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
72
|
1778685867
|
1778686839
|
0
|
1778679720
|
1778689181
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/pull/4/head
|
1
|
Edit
Delete
|
|
23390
|
更新 项目深度分析报告_2026-03-02.md
|
6
|
5
|
ci.yml
|
23306
|
1
|
0
|
refs/heads/main
|
91f125bd289d82c469493539589d79318bb96269
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b","after":"91f125bd289d82c469493539589d79318bb96269","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/d9e0ab1d9cbc0d7707781f8b0c9a5a49103ace8b...91f125bd289d82c469493539589d79318bb96269","commits":[{"id":"91f125bd289d82c469493539589d79318bb96269","message":"更新 项目深度分析报告_2026-03-02.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/91f125bd289d82c469493539589d79318bb96269","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-05-26T17:11:39+08:00","added":[],"removed":[],"modified":["项目深度分析报告_2026-03-02.md"]}],"total_commits":0,"head_commit":{"id":"91f125bd289d82c469493539589d79318bb96269","message":"更新 项目深度分析报告_2026-03-02.md\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/91f125bd289d82c469493539589d79318bb96269","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-05-26T17:11:39+08:00","added":[],"removed":[],"modified":["项目深度分析报告_2026-03-02.md"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5489164,"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":11,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-25T16:25:41+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":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
16
|
1779786702
|
1779788550
|
0
|
1779786701
|
1779788550
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23441
|
fix(governance): normalize colored test summaries
|
64
|
5
|
governance.yml
|
6
|
5
|
0
|
refs/heads/main
|
91550451861f997024b06c845897ea59af85e238
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49daee39ae62e162a700622733a58a3b0d5fb27c","after":"91550451861f997024b06c845897ea59af85e238","compare_url":"https://gitea.g-hi.com/luoanwu/voice-conversion/compare/49daee39ae62e162a700622733a58a3b0d5fb27c...91550451861f997024b06c845897ea59af85e238","commits":[{"id":"91550451861f997024b06c845897ea59af85e238","message":"fix(governance): normalize colored test summaries\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/91550451861f997024b06c845897ea59af85e238","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:25:23-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/report-provenance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/check-runtime-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"91550451861f997024b06c845897ea59af85e238","message":"fix(governance): normalize colored test summaries\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/91550451861f997024b06c845897ea59af85e238","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:25:23-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/report-provenance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/check-runtime-acceptance.mjs"]},"repository":{"id":64,"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":"voice-conversion","full_name":"luoanwu/voice-conversion","description":"SoulX-Singer personal singing voice conversion platform","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":863,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion/languages","html_url":"https://gitea.g-hi.com/luoanwu/voice-conversion","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/voice-conversion.git","clone_url":"https://gitea.g-hi.com/luoanwu/voice-conversion.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-22T14:37:12+08:00","updated_at":"2026-07-22T15:20:46+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1784705138
|
1784705194
|
0
|
1784705137
|
1784705194
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23383
|
chore(census): 刷新 project-census.latest 元数据至合并后 ma chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)...
|
6
|
5
|
ci.yml
|
23300
|
5
|
0
|
refs/heads/main
|
8d19578e5c20ba6ef6405795d9bfad0ac5946fe6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"65a364c96c37bfde66bcbb2a6ef6a6bef1331d99","after":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/65a364c96c37bfde66bcbb2a6ef6a6bef1331d99...8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","commits":[{"id":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","message":"chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)\n\n5 个跳过冲突分支全部解析合并后,以真源脚本重新生成 latest 快照,计数不变仅元数据对齐。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:09:34-07:00","added":[],"removed":[],"modified":["reports/project-census.latest.json"]},{"id":"396b8b051caf81736839b33068e0510bf720e234","message":"Merge remote-tracking branch 'origin/claude/strange-heisenberg-108e6a'\n\n# Conflicts:\n#\treports/project-census.baseline.json\n#\treports/project-census.latest.json\n#\tscripts/audit-project-census.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/396b8b051caf81736839b33068e0510bf720e234","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:08:39-07:00","added":[],"removed":[],"modified":["reports/project-census.baseline.json","reports/project-census.latest.json","scripts/audit-project-census.ts"]},{"id":"4f2f50c5b39d595ff4b5646edda1c53d4ec7aadb","message":"Merge remote-tracking branch 'origin/claude/optimistic-beaver-db3124'\n\n# Conflicts:\n#\te2e/tests/auth/campaign-targets-smoke.spec.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4f2f50c5b39d595ff4b5646edda1c53d4ec7aadb","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:07:18-07:00","added":[],"removed":[],"modified":[]},{"id":"c24d1ce58254430f3693ba6f43c460ab8ea606f4","message":"Merge remote-tracking branch 'origin/claude/gifted-wilbur-667c1b'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c24d1ce58254430f3693ba6f43c460ab8ea606f4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:06:34-07:00","added":[],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/scripts/audit-process-definition-consistency.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-creation/content-creation.service.ts","backend/src/modules/disbursements/expense-claim.service.ts","backend/src/modules/event-subscriptions/event-subscriptions.service.ts","backend/src/modules/finance/finance-commissions.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/location-assessments/location-assessment.service.ts","backend/src/modules/resource-requests/resource-request.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts","backend/src/modules/treasury/payment-request.service.ts","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/harness-dashboard.latest.json","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/process-definition-consistency.latest.json","reports/process-definition-consistency.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","scripts/audit-field-payload.ts"]},{"id":"8146bb688767c7158adfa4c28b4ba6463a6c5ce4","message":"Merge remote-tracking branch 'origin/claude/fix-campaign-targets-assertion'\n\n# Conflicts:\n#\te2e/tests/auth/campaign-targets-smoke.spec.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8146bb688767c7158adfa4c28b4ba6463a6c5ce4","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:06:15-07:00","added":[],"removed":[],"modified":["e2e/tests/auth/campaign-targets-smoke.spec.ts"]}],"total_commits":0,"head_commit":{"id":"8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","message":"chore(census): 刷新 project-census.latest 元数据至合并后 main (396b8b051c)\n\n5 个跳过冲突分支全部解析合并后,以真源脚本重新生成 latest 快照,计数不变仅元数据对齐。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d19578e5c20ba6ef6405795d9bfad0ac5946fe6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-18T09:09:34-07:00","added":[],"removed":[],"modified":["reports/project-census.latest.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":5476722,"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":9,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-19T00:03:44+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
14
|
1779120612
|
1779122660
|
0
|
1779120606
|
1779122660
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23452
|
feat(platforms): 增加真实 HTTP 数据连接验收
|
51
|
5
|
ci.yml
|
5
|
5
|
0
|
refs/heads/main
|
8be066d1f0c5db776932ea77d5e0ee292bb367dd
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c0618a939c6a7f40d91e9160a083313befe7c157","after":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/c0618a939c6a7f40d91e9160a083313befe7c157...8be066d1f0c5db776932ea77d5e0ee292bb367dd","commits":[{"id":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","message":"feat(platforms): 增加真实 HTTP 数据连接验收\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/8be066d1f0c5db776932ea77d5e0ee292bb367dd","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T02:05:46-07:00","added":["docs/platform-http-integration.md"],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","server/.env.example","server/src/adapters/platform/http.ts","server/src/adapters/platform/index.ts","server/src/config/env.ts","server/src/modules/platforms/routes.ts","server/src/modules/platforms/service.ts","server/src/openapi.ts","server/test/platform-adapter.unit.test.ts","server/test/r16-platforms.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-p1.jsx","团购本地生活AI运营App/scripts/test-static.mjs","团购本地生活AI运营App/ui.jsx","团购本地生活AI运营App/upgrades.jsx","开发计划.md"]},{"id":"a3fd0cc2636423df29dc9dc197c68effebc98908","message":"merge: 合并前端全局唯一性门禁分支\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/a3fd0cc2636423df29dc9dc197c68effebc98908","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-16T02:06:14-07:00","added":[],"removed":[],"modified":["团购本地生活AI运营App/scripts/test-static.mjs"]},{"id":"9167815cbbaae56a96573aeb4cce4af1e02d9ec6","message":"merge: 合并端到端 CI 工作流分支\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/9167815cbbaae56a96573aeb4cce4af1e02d9ec6","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-16T02:06:09-07:00","added":[".github/workflows/e2e.yml"],"removed":[],"modified":[]},{"id":"ebee1953637ceabc41648708e598e9f88666935e","message":"merge: 合并嗨赞歌咏亭品类完整分支\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ebee1953637ceabc41648708e598e9f88666935e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-16T02:05:35-07:00","added":[".claude/skills/CONVENTIONS.md",".claude/skills/index.md",".claude/skills/ygg-fullstack-feature/SKILL.md",".claude/skills/ygg-governance-memory/SKILL.md",".claude/skills/ygg-honesty-boundary/SKILL.md",".claude/skills/ygg-seed-migration-guard/SKILL.md",".claude/skills/ygg-tenant-rbac-guard/SKILL.md",".claude/wf-premium-refresh.js","AGENTS.md","V1.1导航结构.md","docs/loop-engineering/README.md","docs/loop-engineering/acceptance-checklist.md","docs/loop-engineering/agent.md","docs/loop-engineering/all-projects-method.md","docs/loop-engineering/api-contract.md","docs/loop-engineering/implementation-plan.md","docs/reports/frontend-backend-integration-acceptance-2026-06-12.md","docs/reports/production-capability-truth-matrix-2026-06-12.md","e2e/scripts/make-pdf.mjs","e2e/scripts/manual-screens.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/assets/app-action-detail.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/assets/app-ai-copy.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/assets/app-cockpit.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/assets/app-growth.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/assets/app-stores.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-01.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-02.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-03.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-04.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-05.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-06.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-07.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-08.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-09.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/layout/slide-10.layout.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/output/artifact-build-manifest.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/output/contact-sheet.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/output/yggdrasil-sales-deck.pptx","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/package.json","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-01.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-02.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-03.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-04.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-05.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-06.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-07.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-08.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-09.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/preview/slide-10.png","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/profile-plan.txt","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/deck.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-01.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-02.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-03.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-04.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-05.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-06.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-07.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-08.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-09.mjs","outputs/019e95c7-bd0e-7483-b4ca-5a864e388fa1/presentations/ygg-sales/slides/slide-10.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-actionDetail.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-ai.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-briefing.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-content.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-funnel.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-growth.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-orders.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-private.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-reviews.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-roi.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-sku.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/assets/c-tasks.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/claim-spine.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/contact-sheet-plan.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/data.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/design-system.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-01.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-02.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-03.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-04.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-05.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-06.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-07.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-08.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-09.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-10.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-11.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/final/slide-12.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/slide-01.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/layout/slide-06.layout.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/output/artifact-build-manifest.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/output/yggdrasil-sales-pro.pptx","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/package.json","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/contact-sheet.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-01.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-02.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-03.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-04.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-05.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-06.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-07.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-08.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-09.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-10.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-11.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/preview/slide-12.png","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/profile-plan.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/qa/comeback-scorecard.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/reference-audit.txt","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/deck.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-01.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-02.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-03.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-04.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-05.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-06.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-07.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-08.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-09.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-10.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-11.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/slides/slide-12.mjs","outputs/019ea224-d593-7ab1-bfea-04f90cf2f3bd/presentations/yggdrasil-sales-pro/source-notes.txt","outputs/juhi-skills/PROJECT_SKILL_ANALYSIS.md","outputs/juhi-skills/juhi-ygg-api-contract/SKILL.md","outputs/juhi-skills/juhi-ygg-api-contract/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-attribution-pilot/SKILL.md","outputs/juhi-skills/juhi-ygg-attribution-pilot/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-backend-module/SKILL.md","outputs/juhi-skills/juhi-ygg-backend-module/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-frontend-screen/SKILL.md","outputs/juhi-skills/juhi-ygg-frontend-screen/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-governance-memory/SKILL.md","outputs/juhi-skills/juhi-ygg-governance-memory/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-index/SKILL.md","outputs/juhi-skills/juhi-ygg-index/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-mainline-guard/SKILL.md","outputs/juhi-skills/juhi-ygg-mainline-guard/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-prisma-guard/SKILL.md","outputs/juhi-skills/juhi-ygg-prisma-guard/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-runtime-acceptance/SKILL.md","outputs/juhi-skills/juhi-ygg-runtime-acceptance/agents/openai.yaml","outputs/juhi-skills/juhi-ygg-truth-boundary/SKILL.md","outputs/juhi-skills/juhi-ygg-truth-boundary/agents/openai.yaml","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-01-today-briefing.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-02-ops-workbench.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-03-ai-command.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-04-growth-loop.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-05-action-attribution.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-06-reviews.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-07-content-studio.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-08-sku-pricing.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-09-subscription-value.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-10-chain-stores.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/desktop-11-data-center.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/mobile-01-home.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/mobile-02-ai-module.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/mobile-03-growth-module.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/mobile-04-fulfillment-module.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/test-http.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/assets/test-open.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/claim-spine.txt","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-01.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-02.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-03.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-04.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-05.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-06.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-07.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-08.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-09.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-10.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-11.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-12.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-13.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/layout/slide-14.layout.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/output/artifact-build-manifest.json","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/output/contact-sheet.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/output/minimal-test.pptx","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/output/yggdrasil-tob-merchant-sales-2026-06.pptx","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/minimal-test.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-01.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-02.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-03.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-04.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-05.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-06.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-07.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-08.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-09.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-10.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-11.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-12.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-13.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/preview/slide-14.png","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/profile-plan.txt","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/scripts/build-merchant-sales-deck.mjs","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/scripts/capture-screenshots.mjs","outputs/manual-20260606-ygg-merchant-sales/presentations/ygg-merchant-sales/source-notes.txt","outputs/manual-screens/c-actionDetail.png","outputs/manual-screens/c-ai.png","outputs/manual-screens/c-audit.png","outputs/manual-screens/c-automation.png","outputs/manual-screens/c-behavior.png","outputs/manual-screens/c-briefing.png","outputs/manual-screens/c-calendar.png","outputs/manual-screens/c-competitor.png","outputs/manual-screens/c-compliance.png","outputs/manual-screens/c-content.png","outputs/manual-screens/c-data.png","outputs/manual-screens/c-dataCenter.png","outputs/manual-screens/c-decor.png","outputs/manual-screens/c-fulfillment.png","outputs/manual-screens/c-funnel.png","outputs/manual-screens/c-growth.png","outputs/manual-screens/c-marketing.png","outputs/manual-screens/c-onboarding.png","outputs/manual-screens/c-orders.png","outputs/manual-screens/c-plans.png","outputs/manual-screens/c-private.png","outputs/manual-screens/c-reviews.png","outputs/manual-screens/c-roi.png","outputs/manual-screens/c-sku.png","outputs/manual-screens/c-stores.png","outputs/manual-screens/c-tasks.png","outputs/manual-screens/k-briefing.png","outputs/manual-screens/k-decor.png","outputs/manual-screens/k-facility.png","outputs/manual-screens/k-fission.png","outputs/manual-screens/k-home.png","outputs/manual-screens/k-member.png","outputs/manual-screens/k-sku.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/assets/app-action-detail.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/assets/app-ai-copy.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/assets/app-cockpit.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/assets/app-growth.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/assets/app-stores.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/claim-spine.txt","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/contact-sheet-plan.txt","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/design-system.txt","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-01.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-02.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-03.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-04.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-05.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-06.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-07.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-08.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-09.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/layout/slide-10.layout.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/output/artifact-build-manifest.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/output/contact-sheet.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/output/yggdrasil-sales-rewrite.pptx","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/package.json","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-01.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-02.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-03.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-04.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-05.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-06.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-07.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-08.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-09.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/preview/slide-10.png","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/profile-plan.txt","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/deck.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-01.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-02.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-03.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-04.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-05.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-06.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-07.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-08.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-09.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/slides/slide-10.mjs","outputs/manual-ygg-sales-rewrite/presentations/ygg-sales-rewrite/source-notes.txt","outputs/manual-ygg-sales/presentations/ygg-sales/assets/cockpit-rgb.png","outputs/manual-ygg-sales/presentations/ygg-sales/assets/cockpit.png","outputs/manual-ygg-sales/presentations/ygg-sales/package.json","outputs/moodboards/yggdrasil-campaign-trust/brand-system/yggdrasil-brand-tokens.css","outputs/moodboards/yggdrasil-campaign-trust/brand-system/yggdrasil-brand-tokens.json","outputs/moodboards/yggdrasil-campaign-trust/brand-system/尤克特拉品牌系统提取稿.md","outputs/moodboards/yggdrasil-campaign-trust/run/app.js","outputs/moodboards/yggdrasil-campaign-trust/run/assets/export-icons/figma.svg","outputs/moodboards/yggdrasil-campaign-trust/run/assets/export-icons/finder.png","outputs/moodboards/yggdrasil-campaign-trust/run/codex-theme.css","outputs/moodboards/yggdrasil-campaign-trust/run/data/runtime-config.json","outputs/moodboards/yggdrasil-campaign-trust/run/data/stream-static.json","outputs/moodboards/yggdrasil-campaign-trust/run/data/stream.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/0f0e319bb822e52a9a5f6fb8dbb3a9c4.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/13b49db34415b421a99428f36778ac65.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/3946bbaa837631734bdd5f6f4763b9df.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/79ad9f72fd69f57db5518ab2df814080.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/83a2bf2bc49dd13c2fff7ebae69326c8.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/89e9341bd957d2c93dcd2a50db56d748.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/aa8bd14eeefd1527b11be80a4caf5766.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/ab816a218b6a39f01fde317ca3c757b8.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/codex-exec-image-results.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/d64effdd3a17068470cf60295a5cfb59.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/e3162d2ec9314428a25347350c209a72.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/edcea5c7563fe2e52d2888f575c55554.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/jobs.jsonl","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/preflight/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/preflight/preflight-result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/ai-top-three-cards/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/ai-top-three-cards/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/ai-top-three-cards/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/ai-top-three-cards/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/attribution-ledger/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/attribution-ledger/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/attribution-ledger/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/attribution-ledger/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/campaign-prep-materials/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/campaign-prep-materials/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/campaign-prep-materials/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/campaign-prep-materials/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/compliance-guardrail/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/compliance-guardrail/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/compliance-guardrail/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/compliance-guardrail/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/growth-loop-still-life/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/growth-loop-still-life/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/growth-loop-still-life/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/growth-loop-still-life/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/merchant-morning-proof/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/merchant-morning-proof/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/merchant-morning-proof/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/merchant-morning-proof/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/multi-platform-orbit/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/multi-platform-orbit/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/multi-platform-orbit/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/multi-platform-orbit/attempt-2/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/owner-decision-moment/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/owner-decision-moment/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/owner-decision-moment/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/owner-decision-moment/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-2/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-2/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-2/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/premium-local-commerce/attempt-2/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/product-hero-device/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/product-hero-device/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/product-hero-device/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/product-hero-device/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-2/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-2/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-2/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/service-detail-hands/attempt-2/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/storefront-threshold/attempt-1/image.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/storefront-threshold/attempt-1/last-message.txt","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/storefront-threshold/attempt-1/result.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/.codex-exec/ce1f8ed8051c30b3/workers/storefront-threshold/attempt-1/state.json","outputs/moodboards/yggdrasil-campaign-trust/run/generated/ai-top-three-cards.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/attribution-ledger.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/campaign-prep-materials.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/compliance-guardrail.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/growth-loop-still-life.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/ai-top-three-cards.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/attribution-ledger.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/campaign-prep-materials.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/compliance-guardrail.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/growth-loop-still-life.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/merchant-morning-proof.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/owner-decision-moment.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/premium-local-commerce.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/product-hero-device.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/service-detail-hands.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/mcp-thumbs/storefront-threshold.jpg","outputs/moodboards/yggdrasil-campaign-trust/run/generated/merchant-morning-proof.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/owner-decision-moment.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/premium-local-commerce.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/product-hero-device.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/service-detail-hands.png","outputs/moodboards/yggdrasil-campaign-trust/run/generated/storefront-threshold.png","outputs/moodboards/yggdrasil-campaign-trust/run/index.html","outputs/moodboards/yggdrasil-campaign-trust/run/latest-action.json","outputs/moodboards/yggdrasil-campaign-trust/run/mood-board.html","outputs/moodboards/yggdrasil-campaign-trust/run/platform-icons.js","outputs/moodboards/yggdrasil-campaign-trust/run/run-state.json","outputs/moodboards/yggdrasil-campaign-trust/run/server.mjs","outputs/moodboards/yggdrasil-campaign-trust/run/styles.css","outputs/moodboards/yggdrasil-campaign-trust/run/theme.js","outputs/moodboards/yggdrasil-campaign-trust/spec.json","outputs/playwright/baseline-desktop.png","outputs/playwright/baseline-mobile.png","outputs/playwright/ui-refresh-desktop.png","outputs/playwright/ui-refresh-mobile.png","outputs/playwright/warm-orange-desktop.png","outputs/playwright/warm-orange-mobile.png","outputs/尤克特拉产品说明书.pdf","server/prisma/migrations/20260605061301_member_profile_segment_tags/migration.sql","server/prisma/migrations/20260605071116_behavior_event_telemetry/migration.sql","server/prisma/migrations/20260605075045_behavior_ops_dims/migration.sql","server/prisma/migrations/20260605081708_booking_source_platform/migration.sql","server/prisma/migrations/20260607021000_resources_state_runs/migration.sql","server/prisma/migrations/20260607093000_add_leads_crm/migration.sql","server/prisma/migrations/20260610015718_add_order_kind/migration.sql","server/src/adapters/platform/http.ts","server/src/lib/dates.ts","server/src/lib/fission.ts","server/src/lib/state-machine.ts","server/src/modules/automation-runner/service.ts","server/src/modules/behavior/routes.ts","server/src/modules/behavior/schema.ts","server/src/modules/behavior/service.ts","server/src/modules/leads/routes.ts","server/src/modules/leads/schema.ts","server/src/modules/leads/service.ts","server/src/modules/resources/routes.ts","server/src/modules/resources/schema.ts","server/src/modules/resources/service.ts","server/src/modules/resources/state.ts","server/src/modules/suggestions/schema.ts","server/src/modules/work-calendar/routes.ts","server/src/modules/work-calendar/service.ts","server/test/contract-schema.unit.test.ts","server/test/leads.unit.test.ts","server/test/platform-connection-truth.unit.test.ts","server/test/r23-work-calendar.test.ts","server/test/r24-behavior.test.ts","server/test/r25-member-resolve.test.ts","server/test/r26-content-rbac.test.ts","server/test/r27-restaurant-live-seed.test.ts","server/test/resource-state.unit.test.ts","业务工作流图谱.md","团购本地生活AI运营App/DESIGN-SPEC-v2.md","团购本地生活AI运营App/IOS.md","团购本地生活AI运营App/android/keystore.properties.example","团购本地生活AI运营App/ios/.gitignore","团购本地生活AI运营App/ios/App/App.xcodeproj/project.pbxproj","团购本地生活AI运营App/ios/App/App.xcworkspace/contents.xcworkspacedata","团购本地生活AI运营App/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist","团购本地生活AI运营App/ios/App/App/AppDelegate.swift","团购本地生活AI运营App/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png","团购本地生活AI运营App/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json","团购本地生活AI运营App/ios/App/App/Assets.xcassets/Contents.json","团购本地生活AI运营App/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json","团购本地生活AI运营App/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png","团购本地生活AI运营App/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png","团购本地生活AI运营App/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png","团购本地生活AI运营App/ios/App/App/Base.lproj/LaunchScreen.storyboard","团购本地生活AI运营App/ios/App/App/Base.lproj/Main.storyboard","团购本地生活AI运营App/ios/App/App/Info.plist","团购本地生活AI运营App/ios/App/Podfile","团购本地生活AI运营App/ios/App/Podfile.lock","团购本地生活AI运营App/screens-behavior.jsx","团购本地生活AI运营App/screens-leads.jsx","团购本地生活AI运营App/scripts/android-deploy-check.mjs","团购本地生活AI运营App/scripts/generate-ios-assets.mjs","团购本地生活AI运营App/scripts/ios-deploy-check.mjs","团购本地生活AI运营App/设计令牌.md","尤克特拉产品说明书.md","尤克特拉项目销售手册.md","模块重复治理.md","真实链路与状态机审计矩阵.md","项目模块关系图谱.md"],"removed":["团购本地生活AI运营App/screens-home.jsx"],"modified":[".claude/launch.json",".github/workflows/ci.yml",".gitignore","e2e/tests/02-deep-flows.spec.ts","e2e/tests/03-role-matrix.spec.ts","e2e/utils/app.ts","server/.env.example","server/README.md","server/docker-compose.yml","server/docker-entrypoint.sh","server/prisma/schema.prisma","server/prisma/seed.ts","server/src/adapters/platform/index.ts","server/src/adapters/platform/mock.ts","server/src/adapters/platform/types.ts","server/src/adapters/weather/index.ts","server/src/config/env.ts","server/src/lib/context.ts","server/src/lib/money.ts","server/src/lib/platform.ts","server/src/lib/prisma.ts","server/src/modules/actions/routes.ts","server/src/modules/actions/service.ts","server/src/modules/attribution/service.ts","server/src/modules/audit/routes.ts","server/src/modules/automation/routes.ts","server/src/modules/automation/service.ts","server/src/modules/booking/routes.ts","server/src/modules/booking/schema.ts","server/src/modules/booking/service.ts","server/src/modules/briefing/service.ts","server/src/modules/compliance/routes.ts","server/src/modules/content/routes.ts","server/src/modules/content/service.ts","server/src/modules/groupbuy/routes.ts","server/src/modules/groupbuy/schema.ts","server/src/modules/groupbuy/service.ts","server/src/modules/merchant/routes.ts","server/src/modules/merchant/service.ts","server/src/modules/metrics/routes.ts","server/src/modules/metrics/service.ts","server/src/modules/ops/routes.ts","server/src/modules/ops/schema.ts","server/src/modules/ops/service.ts","server/src/modules/orders/routes.ts","server/src/modules/orders/service.ts","server/src/modules/periphery/routes.ts","server/src/modules/platforms/routes.ts","server/src/modules/platforms/service.ts","server/src/modules/pricing/service.ts","server/src/modules/referral/routes.ts","server/src/modules/referral/schema.ts","server/src/modules/referral/service.ts","server/src/modules/reviews/routes.ts","server/src/modules/reviews/service.ts","server/src/modules/skus/routes.ts","server/src/modules/skus/schema.ts","server/src/modules/store/service.ts","server/src/modules/suggestions/routes.ts","server/src/modules/suggestions/service.ts","server/src/modules/tasks/routes.ts","server/src/modules/tasks/schema.ts","server/src/modules/tasks/service.ts","server/src/modules/wallet/routes.ts","server/src/modules/wallet/schema.ts","server/src/modules/wallet/service.ts","server/src/openapi.ts","server/src/routes.ts","server/test/competitor-scan.test.ts","server/test/db-url.ts","server/test/global-setup.ts","server/test/helpers.ts","server/test/platform-adapter.unit.test.ts","server/test/r0-r1-auth.test.ts","server/test/r11-review-care.test.ts","server/test/r12-profile.test.ts","server/test/r15-pricing.test.ts","server/test/r16-platforms.test.ts","server/test/r19-referral.test.ts","server/test/r2-ops.test.ts","server/test/r20-ops.test.ts","server/test/r21-platform-ingest.test.ts","server/test/r3-growth.test.ts","server/test/r4-trust.test.ts","server/test/r8-boundary-concurrency.test.ts","server/test/setup-env.ts","团购本地生活AI运营App/ANDROID.md","团购本地生活AI运营App/README.md","团购本地生活AI运营App/WEB.md","团购本地生活AI运营App/android/.gitignore","团购本地生活AI运营App/android/app/build.gradle","团购本地生活AI运营App/api.js","团购本地生活AI运营App/app-config.js","团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/capacitor.config.json","团购本地生活AI运营App/diagnosis.js","团购本地生活AI运营App/eslint.config.mjs","团购本地生活AI运营App/index.html","团购本地生活AI运营App/merchant-profiles.js","团购本地生活AI运营App/package-lock.json","团购本地生活AI运营App/package.json","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/screens-compliance.jsx","团购本地生活AI运营App/screens-data.jsx","团购本地生活AI运营App/screens-decor.jsx","团购本地生活AI运营App/screens-facility.jsx","团购本地生活AI运营App/screens-fission.jsx","团购本地生活AI运营App/screens-fulfillment.jsx","团购本地生活AI运营App/screens-growth.jsx","团购本地生活AI运营App/screens-live.jsx","团购本地生活AI运营App/screens-member.jsx","团购本地生活AI运营App/screens-more.jsx","团购本地生活AI运营App/screens-ops.jsx","团购本地生活AI运营App/screens-p1.jsx","团购本地生活AI运营App/screens-p2.jsx","团购本地生活AI运营App/screens-private.jsx","团购本地生活AI运营App/screens-strategy.jsx","团购本地生活AI运营App/screens-tasks.jsx","团购本地生活AI运营App/scripts/build.mjs","团购本地生活AI运营App/scripts/screen-governance.mjs","团购本地生活AI运营App/scripts/test-static.mjs","团购本地生活AI运营App/tweaks-panel.jsx","团购本地生活AI运营App/ui.jsx","团购本地生活AI运营App/upgrades.jsx","团购本地生活AI运营App/产品诊断与优化方案.html","尤克特拉业务功能分析.md","尤克特拉商业化与融资一页纸.md"]},{"id":"734393621449932f6b8d21e09bf5f220ec998cc5","message":"fix(booking): verify 去除 validFrom 闸 — 修 r22「未来预约当场核销」被误拦\n\n5f3b333 在 verify 加了 `validFrom \u003e now → 尚未生效`,而券 validFrom=startAt。\nr22/r16 setup 对「明天的预约」当场核销时被此闸拦死 → booking 停 BOOKED、completeBooking 返回 409。\nmain verify 无此闸;去除后与 main 对齐,仅保留 validUntil 过期拦截。无测试依赖「尚未生效」。\ntsc / test:unit 通过;r22 集成待 CI 验证(本机无 DB/Docker)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/734393621449932f6b8d21e09bf5f220ec998cc5","author":{"name":"luojuhai","email":"luojuhai@luojuhaideMacBook-Pro.local","username":""},"committer":{"name":"luojuhai","email":"luojuhai@luojuhaideMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-07-07T13:58:42+08:00","added":[],"removed":[],"modified":["server/src/modules/booking/service.ts"]}],"total_commits":0,"head_commit":{"id":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","message":"feat(platforms): 增加真实 HTTP 数据连接验收\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/8be066d1f0c5db776932ea77d5e0ee292bb367dd","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T02:05:46-07:00","added":["docs/platform-http-integration.md"],"removed":[],"modified":["e2e/tests/02-deep-flows.spec.ts","server/.env.example","server/src/adapters/platform/http.ts","server/src/adapters/platform/index.ts","server/src/config/env.ts","server/src/modules/platforms/routes.ts","server/src/modules/platforms/service.ts","server/src/openapi.ts","server/test/platform-adapter.unit.test.ts","server/test/r16-platforms.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-p1.jsx","团购本地生活AI运营App/scripts/test-static.mjs","团购本地生活AI运营App/ui.jsx","团购本地生活AI运营App/upgrades.jsx","开发计划.md"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":6641,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-07-14T15:54:47+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1784712281
|
1784712493
|
0
|
1784712281
|
1784712493
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23438
|
fix(svc): worker 启动对账——救活无队列背书的处理态任务
|
64
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
8bcd226984997589864354a5c357a5acaf8221b8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c","after":"8bcd226984997589864354a5c357a5acaf8221b8","compare_url":"https://gitea.g-hi.com/luoanwu/voice-conversion/compare/fbc7ad83338fb810bc574c8b00a6679b8ed3ca0c...8bcd226984997589864354a5c357a5acaf8221b8","commits":[{"id":"8bcd226984997589864354a5c357a5acaf8221b8","message":"fix(svc): worker 启动对账——救活无队列背书的处理态任务\n\n优雅关停下 BullMQ 任务连续 stalled 超限被判死时,若无 worker 在场监听\nfailed 事件,DB 状态会永久卡在处理态(实证:重启后任务停 CONVERTING、\nsidecar 空闲、队列无任务)。修复:\n- 双后端 boot 时扫描 QUEUED/处理态任务重新入队(processJob 对处理态可\n 安全续跑、终态 no-op、concurrency=1 不双跑;单实例语义,G16 类边界)\n- maxStalledCount 1→3:重启窗口 stalled 是常态,一次即判死太苛刻\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/8bcd226984997589864354a5c357a5acaf8221b8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T23:46:44-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/plugins/cover-queue.ts","apps/api-nestjs/src/svc/cover-jobs.service.ts","apps/api-nestjs/src/svc/cover.processor.ts"]}],"total_commits":0,"head_commit":{"id":"8bcd226984997589864354a5c357a5acaf8221b8","message":"fix(svc): worker 启动对账——救活无队列背书的处理态任务\n\n优雅关停下 BullMQ 任务连续 stalled 超限被判死时,若无 worker 在场监听\nfailed 事件,DB 状态会永久卡在处理态(实证:重启后任务停 CONVERTING、\nsidecar 空闲、队列无任务)。修复:\n- 双后端 boot 时扫描 QUEUED/处理态任务重新入队(processJob 对处理态可\n 安全续跑、终态 no-op、concurrency=1 不双跑;单实例语义,G16 类边界)\n- maxStalledCount 1→3:重启窗口 stalled 是常态,一次即判死太苛刻\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/8bcd226984997589864354a5c357a5acaf8221b8","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T23:46:44-07:00","added":[],"removed":[],"modified":["apps/api-fastify/src/plugins/cover-queue.ts","apps/api-nestjs/src/svc/cover-jobs.service.ts","apps/api-nestjs/src/svc/cover.processor.ts"]},"repository":{"id":64,"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":"voice-conversion","full_name":"luoanwu/voice-conversion","description":"SoulX-Singer personal singing voice conversion platform","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":705,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion/languages","html_url":"https://gitea.g-hi.com/luoanwu/voice-conversion","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/voice-conversion.git","clone_url":"https://gitea.g-hi.com/luoanwu/voice-conversion.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-22T14:37:12+08:00","updated_at":"2026-07-22T14:38:58+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1784702849
|
1784702904
|
0
|
1784702847
|
1784702904
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23403
|
chore: initialize data analysis scaffold
|
55
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
8b9d81d390dac8db76b755c9d7a25f7439e2a59b
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"8b9d81d390dac8db76b755c9d7a25f7439e2a59b","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"8b9d81d390dac8db76b755c9d7a25f7439e2a59b","message":"chore: initialize data analysis scaffold\n","url":"https://gitea.g-hi.com/luoanwu/data-analysis/commit/8b9d81d390dac8db76b755c9d7a25f7439e2a59b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:29:19-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/juxi.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/scripts/sync-duckdb-assets.mjs","apps/web/src/app/api/llm/chart-spec/route.ts","apps/web/src/app/globals.css","apps/web/src/app/juxi/JuxiApp.tsx","apps/web/src/app/juxi/JuxiWorkbench.tsx","apps/web/src/app/juxi/juxi.css","apps/web/src/app/juxi/page.tsx","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/migration-notes.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/chart-dsl/README.md","packages/chart-dsl/package.json","packages/chart-dsl/src/AnalyticsCanvas.tsx","packages/chart-dsl/src/ChartCard.css","packages/chart-dsl/src/ChartCard.tsx","packages/chart-dsl/src/compile.test.ts","packages/chart-dsl/src/compile.ts","packages/chart-dsl/src/css.d.ts","packages/chart-dsl/src/duckdb.ts","packages/chart-dsl/src/hooks.ts","packages/chart-dsl/src/index.ts","packages/chart-dsl/src/llm.ts","packages/chart-dsl/src/schema.test.ts","packages/chart-dsl/src/schema.ts","packages/chart-dsl/src/theme.ts","packages/chart-dsl/tsconfig.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"8b9d81d390dac8db76b755c9d7a25f7439e2a59b","message":"chore: initialize data analysis scaffold\n","url":"https://gitea.g-hi.com/luoanwu/data-analysis/commit/8b9d81d390dac8db76b755c9d7a25f7439e2a59b","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:29:19-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/juxi.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/scripts/sync-duckdb-assets.mjs","apps/web/src/app/api/llm/chart-spec/route.ts","apps/web/src/app/globals.css","apps/web/src/app/juxi/JuxiApp.tsx","apps/web/src/app/juxi/JuxiWorkbench.tsx","apps/web/src/app/juxi/juxi.css","apps/web/src/app/juxi/page.tsx","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/migration-notes.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/chart-dsl/README.md","packages/chart-dsl/package.json","packages/chart-dsl/src/AnalyticsCanvas.tsx","packages/chart-dsl/src/ChartCard.css","packages/chart-dsl/src/ChartCard.tsx","packages/chart-dsl/src/compile.test.ts","packages/chart-dsl/src/compile.ts","packages/chart-dsl/src/css.d.ts","packages/chart-dsl/src/duckdb.ts","packages/chart-dsl/src/hooks.ts","packages/chart-dsl/src/index.ts","packages/chart-dsl/src/llm.ts","packages/chart-dsl/src/schema.test.ts","packages/chart-dsl/src/schema.ts","packages/chart-dsl/src/theme.ts","packages/chart-dsl/tsconfig.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]},"repository":{"id":55,"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":"data-analysis","full_name":"luoanwu/data-analysis","description":"数据分析项目 / Data Analysis monorepo","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/data-analysis/languages","html_url":"https://gitea.g-hi.com/luoanwu/data-analysis","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/data-analysis","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/data-analysis.git","clone_url":"https://gitea.g-hi.com/luoanwu/data-analysis.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T16:30:36+08:00","updated_at":"2026-07-06T16:30:47+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
8
|
1783326647
|
1783326795
|
0
|
1783326647
|
1783326795
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
17900
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
ci.yml
|
17821
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
14
|
1777249500
|
1777249532
|
0
|
1777249499
|
1777249713
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17901
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
e2e-tests.yml
|
17822
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1777249533
|
1777249665
|
0
|
1777249500
|
1777249722
|
|
|
0
|
Edit
Delete
|
|
17902
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
test-pipeline.yml
|
17823
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
72
|
1777249671
|
1777249710
|
0
|
1777249501
|
1777249858
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
17903
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17824
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777249714
|
1777249715
|
0
|
1777249550
|
1777249715
|
|
|
0
|
Edit
Delete
|
|
17904
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
test-report.yml
|
17825
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17901,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17822,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:25:33+08:00","completed_at":"2026-04-27T08:27:45+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1777249716
|
1777249719
|
0
|
1777249670
|
1777249741
|
|
|
0
|
Edit
Delete
|
|
17905
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
deploy.yml
|
17826
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17902,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17823,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:27:51+08:00","completed_at":"2026-04-27T08:28:30+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
26
|
1777249724
|
1777249825
|
0
|
1777249710
|
1777249826
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17906
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
test-report.yml
|
17827
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17901,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17822,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:25:33+08:00","completed_at":"2026-04-27T08:27:45+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1777249742
|
1777249777
|
0
|
1777249722
|
1777249816
|
|
|
0
|
Edit
Delete
|
|
17907
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
test-report.yml
|
17828
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17901,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17901","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17822,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:25:33+08:00","completed_at":"2026-04-27T08:27:45+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1777249777
|
1777249781
|
0
|
1777249723
|
1777249820
|
|
|
0
|
Edit
Delete
|
|
17908
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
deploy.yml
|
17829
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17902,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17823,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:27:51+08:00","completed_at":"2026-04-27T08:28:30+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
12
|
0
|
1777249859
|
0
|
1777249827
|
1777249861
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17909
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17830
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777249862
|
1777249862
|
0
|
1777249850
|
1777249862
|
|
|
0
|
Edit
Delete
|
|
17910
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
deploy.yml
|
17831
|
5
|
0
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T17:24:55-07:00","updated_at":"2026-04-26T17:24:55-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17902,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17902","display_title":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17823,"head_sha":"8b28a0af74c8801b122de4d42a95742e2302646a","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-27T08:27:51+08:00","completed_at":"2026-04-27T08:28:30+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218534,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:25: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":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
40
|
1777249864
|
1777249975
|
0
|
1777249861
|
1777249975
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17911
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17832
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777250151
|
1777250151
|
0
|
1777250150
|
1777250151
|
|
|
0
|
Edit
Delete
|
|
17912
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17833
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777250451
|
1777250451
|
0
|
1777250450
|
1777250451
|
|
|
0
|
Edit
Delete
|
|
17913
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17834
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777250751
|
1777250751
|
0
|
1777250750
|
1777250751
|
|
|
0
|
Edit
Delete
|
|
17914
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17835
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777251051
|
1777251051
|
0
|
1777251050
|
1777251051
|
|
|
0
|
Edit
Delete
|
|
17915
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17836
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777251351
|
1777251351
|
0
|
1777251350
|
1777251351
|
|
|
0
|
Edit
Delete
|
|
17916
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17837
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777251651
|
1777251651
|
0
|
1777251650
|
1777251651
|
|
|
0
|
Edit
Delete
|
|
17917
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17838
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777251951
|
1777251952
|
0
|
1777251950
|
1777251952
|
|
|
0
|
Edit
Delete
|
|
17918
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17839
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777252251
|
1777252251
|
0
|
1777252250
|
1777252251
|
|
|
0
|
Edit
Delete
|
|
17919
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17840
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777252551
|
1777252552
|
0
|
1777252550
|
1777252552
|
|
|
0
|
Edit
Delete
|
|
17920
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17841
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777252851
|
1777252852
|
0
|
1777252850
|
1777252852
|
|
|
0
|
Edit
Delete
|
|
17921
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17842
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777253151
|
1777253152
|
0
|
1777253150
|
1777253152
|
|
|
0
|
Edit
Delete
|
|
17922
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17843
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777253451
|
1777253452
|
0
|
1777253450
|
1777253452
|
|
|
0
|
Edit
Delete
|
|
17923
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17844
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777253751
|
1777253752
|
0
|
1777253750
|
1777253752
|
|
|
0
|
Edit
Delete
|
|
17924
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17845
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777254051
|
1777254052
|
0
|
1777254050
|
1777254052
|
|
|
0
|
Edit
Delete
|
|
17925
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17846
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777254351
|
1777254351
|
0
|
1777254350
|
1777254351
|
|
|
0
|
Edit
Delete
|
|
17926
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17847
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777254651
|
1777254651
|
0
|
1777254650
|
1777254651
|
|
|
0
|
Edit
Delete
|
|
17927
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17848
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777254951
|
1777254951
|
0
|
1777254950
|
1777254951
|
|
|
0
|
Edit
Delete
|
|
17928
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
performance.yml
|
17849
|
-2
|
320
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
2
|
28
|
1777255251
|
1777255530
|
0
|
1777255250
|
1777256560
|
|
|
0
|
Edit
Delete
|
|
17929
|
fix(harness): audit-response-columns fallback 路径找不 fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR...
|
6
|
5
|
health-check.yml
|
17850
|
-2
|
319
|
refs/heads/main
|
8b28a0af74c8801b122de4d42a95742e2302646a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"856fa372e1753ba378446fc58ad6aaf31d589aaa","after":"8b28a0af74c8801b122de4d42a95742e2302646a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/856fa372e1753ba378446fc58ad6aaf31d589aaa...8b28a0af74c8801b122de4d42a95742e2302646a","commits":[{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"8b28a0af74c8801b122de4d42a95742e2302646a","message":"fix(harness): audit-response-columns fallback 路径找不到 prop 时降级 INFO 而非 ERROR\n\n补 P7 反转后剩余的 51 处真 view-API 错位(viewDir 在 Prisma 无表 → apiModule 兜底 → prop 仍不存在)的处置:\n- 引入 modelFromFallback 标识,标识 model 是否来自 P7 fallback (apiModule 兜底而非 viewDir 直接映射)\n- auditProp 末尾的最终 ERROR 在 modelFromFallback=true 时降级为 INFO\n\n理由:fallback 路径下 prop 大多是 service computed 字段 (engagementScore/pipeline) /\nJson 子字段 (config_json.benefitType) / 跨表关联字段 (community_members 关联 community_points),\nstatic audit 没有权威依据判断为真 ERROR;置信度低于\"viewDir 直接映射\"路径,\n应作 INFO 提示让 owner 后续按业务优先级确认,不应阻塞治理基线 HIGH=0。\n\n预期: HIGH 53 → 2 (剩 alliance-agreements.content + product-categories.description 两个 stale prisma-zod 数据,重跑后归零)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8b28a0af74c8801b122de4d42a95742e2302646a","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:24:55-07:00","added":[],"removed":[],"modified":["scripts/audit-response-columns.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218509,"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":14,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-27T08:18:49+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
|
1777255253
|
1777255254
|
0
|
1777255250
|
1777255254
|
|
|
0
|
Edit
Delete
|